У меня есть ссылка mailto:
на странице здесь, включая параметры subject=
и body=
, но я не уверен, как правильно избежать данных в параметрах.Каков правильный способ избежать строки для ссылки mailto
Эта страница кодируется в utf-8
, поэтому, я думаю, что все специальные символы, такие как немецкие умлауты, должны быть закодированы в utf-8
изображения для URL-адреса тоже?
На данный момент я использую rawurlencode()
, как urlencode()
бы вставить +
символы во всех местах, где пробелы должны были быть, но я не уверен, если это правильный способ сделать это.
я бы подумал, что либо 'rawurlencode()' о r 'urlencode()' должен выполнять задание - браузер должен правильно декодировать любую версию перед передачей ее почтовому клиенту. Вы также можете создать массив параметров и использовать ['http_build_query()'] (http://php.net/manual/en/function.http-build-query.php) - строка запроса находится в том же формате , Убедитесь, что вы также передаете полученную строку из любого из этих параметров через ['htmlspecialchars()'] (http://php.net/manual/en/function.htmlspecialchars.php), если она должна использоваться на странице HTML ... – DaveRandom
Хорошо, что это работает во всех случаях, о которых я думал, но, возможно, это неправильный способ сделать это, и мои браузеры/почтовый клиент просто правильно распознают и обходят эту ошибку, поэтому спрашивают, просто чтобы быть конечно :) – bardiir
Могут быть ситуации, когда один будет работать, а другой - нет, но если это так, то ошибкой браузера является неправильная его интерпретация. Если есть известная ошибка с той или другой, очевидно, лучше ее избегать, но я не знаю какого-либо современного браузера, который бы сделал такую фундаментальную ошибку - если она есть, она, вероятно, будет настолько бедна, чтобы быть непригодным для использования. – DaveRandom