Создание почты Outlook со шведскими символами из веб-страницы в кодировке UTF-8 - PullRequest
1 голос
/ 25 января 2011

У меня есть веб-сайт, управляемый базой данных, написанный на php, который должен создавать электронные письма из данных. Все данные и каждая страница кодируются в формате UTF-8 и содержат множество шведских символов. В моей почтовой ссылке есть следующее:

<a href="mailto:name@domain.com?body=Hej!%0D%0AåäöÅÄÖ">Mailto-link</a>

и тело электронной почты должно выглядеть как

Hej!
åäöÅÄÖ

Это работает, по крайней мере, с использованием Internet Explorer 8 и Firefox (не проверялось в Chrome или Safari) с Outlook 2007. Однако в Internet Explorer 7 или более ранних версиях появляются странные символы. Многие из наших клиентов застряли в IE 6 и 7. Какие-нибудь предложения о том, как заставить это работать?

Ответы [ 3 ]

2 голосов
/ 22 марта 2011

Если вы когда-либо сталкивались с подобной проблемой, просто поместите содержимое, вызывающее проблему, в этот оператор предупреждения Javascript и вставьте его в адресную строку достойного браузера, такого как Opera или Firefox.

javascript:alert(escape("problem-string-here"));

Например, если вы выполните

javascript:alert(escape("åäöÅÄÖ"));

вы получите %E5%E4%F6%C5%C4%D6. Вы можете скопировать текст, отображаемый в сообщении с предупреждением, а затем использовать его в своей ссылке mailto:

электронная почта:?! Name@domain.tld тело = Эй% 0A% E5% E4% F6% C5% C4% D6

1 голос
/ 21 марта 2011

Я думаю, что огромное количество возможных комбинаций браузера и почтового клиента принесет вам бесконечное количество горя, если вы попытаетесь решить эту проблему с помощью ссылки "mailto:". Теоретически url-кодирование должно работать, но когда я в прошлом баловался с этим, я понял, что вместо этого было проще просто отправлять электронную почту из PHP.

Это порождает и другие проблемы, например, не позволяя спамерам использовать ваш сервер в качестве шлюза электронной почты (например, использовать контактные номера вместо электронных адресов в форме). Капча и ограничение скорости также, вероятно, хорошая идея.

0 голосов
/ 25 января 2011

URL-кодировка также символы (не только разрывы строк) может помочь. В PHP правильная функция будет urlencode().

...