Mam link mailto:
na stronie tutaj, w tym parametrów subject=
i body=
, ale nie jestem pewien, jak poprawnie uciec danych w parametrach.Jaki jest poprawny sposób na ucieczkę ciąg dla łącza mailto
Strona jest zakodowana w utf-8
, więc przypuszczam, że wszystkie specjalne znaki, takie jak niemieckie umlauty, powinny być zakodowane w utf-8
reprezentacjach również dla adresu URL?
Obecnie używam rawurlencode()
jak urlencode()
by wstawić +
znaków we wszystkich miejscach, w których obowiązuje powinny były, ale jestem pewien, czy jest to właściwy sposób, aby to zrobić.
bym, że, że albo 'rawurlencode()' O r 'urlencode()' powinno wykonać zadanie - przeglądarka powinna poprawnie zdekodować każdą wersję przed przekazaniem jej do klienta poczty. Można również utworzyć tablicę parametrów i użyć ['http_build_query()'] (http://php.net/manual/en/function.http-build-query.php) - ciąg zapytania jest w tym samym formacie . Upewnij się, że przekazałeś wynikowy ciąg z dowolnej z tych opcji przez ['htmlspecialchars()'] (http://php.net/manual/en/function.htmlspecialchars.php), jeśli ma on być używany na stronie HTML ... – DaveRandom
To działa tak, jak we wszystkich przypadkach, o których myślałem, ale może nie jest to właściwy sposób, a moja przeglądarka/klient poczty poprawnie rozpoznaje i rozwiązuje ten błąd, dlatego jest proszony, żeby być pewnie :) – bardiir
Mogą zaistnieć sytuacje, w których jedna będzie działać, a druga nie, ale jeśli tak jest, to z winy przeglądarki nie będzie interpretowana poprawnie. Jeśli jest jakiś znany błąd z jednym lub drugim, oczywiście najlepiej go omijać, ale nie znam żadnej nowoczesnej przeglądarki, która spowodowałaby taki podstawowy błąd - jeśli taki istnieje, prawdopodobnie będzie tak słaby, bezużyteczny. – DaveRandom