HTML-объекты в электронной почте из php mail()

У меня возникла странная проблема, когда я пытаюсь заставить HTML-кампанию по электронной почте отображать правильный текст, который мне нужен.

Я юридический в нижней части моего электронного письма, есть случаи, когда мне нужно добавить символ товарного знака. Я преобразовал все эти экземпляры в ™, $#0153; или ™, и когда я запускаю почтовый скрипт локально, все выглядит так, как должно, однако, когда я запускаю скрипт на нужном сервере, все эти экземпляры товарных знаков вместо этого отображают пустой квадрат. .

Я должен отметить, что в другом месте письма я использую другие объекты HTML, которые отображаются нормально... –, ’, “ - Никаких проблем, только этот чертов ™ сводит меня с ума.

Код нарушения:
....DisplayPort™ connectors, and/or DisplayPort™ compliant....

отображается как


person Conor    schedule 21.03.2011    source источник
comment
У вас есть точка с запятой (™) после ваших сущностей? Может быть, опубликовать код, чтобы мы могли видеть.   -  person Adam Hopkinson    schedule 21.03.2011
comment
Плохо, у меня есть точки с запятой после сущностей, не знаю, как я забыл ввести их выше. Я также должен упомянуть, что изменение кодировки символов в заголовке почты также не решило проблему ... происходит, когда установлено значение utf-8 и ISO-8859-1.   -  person Conor    schedule 21.03.2011
comment
Где неправильно отображается символ товарного знака? Чтобы быть уверенным: ваш скрипт отправляет html-письмо. Когда вы отправляете его с вашего локального сервера, почта отображается правильно в вашей почтовой программе, когда вы отправляете ее с предполагаемого сервера, она не отображается правильно в вашей почтовой программе? Не понял контекст отправки и отображения писем :-)   -  person strauberry    schedule 21.03.2011
comment
Спасибо за ваше редактирование... где вы показываете электронную почту? В тот же момент? Я думаю, что это проблема с отображением, а не с отправкой, например, на одной машине шрифт по умолчанию имеет символ tm, а на другой машине шрифт по умолчанию не имеет его.   -  person strauberry    schedule 21.03.2011
comment
В данный момент я проверяю электронную почту в нескольких веб-клиентах. Я могу отправить точно такое же электронное письмо с моего локального хоста на учетную запись gmail, и все объекты работают нормально, но когда я загружаю тот же скрипт на свой удаленный сервер, все объекты, кроме товарного знака, отображаются, это при просмотре на gmail.com в любой браузер на любой ОС. Просто чтобы уточнить, я читаю все электронные письма на одном компьютере, поэтому локальные шрифты не должны быть проблемой.   -  person Conor    schedule 21.03.2011


Ответы (2)


Задача решена!

Очевидно, вы также можете использовать код объекта ™ для товарного знака, о котором я не знал. Это по-прежнему не объясняет, почему любой из других кодов сущностей не работал, но предоставил мне рабочее решение, поэтому я называю этот вопрос ответом.

Спасибо всем за вашу помощь, очень признателен.

person Conor    schedule 21.03.2011

Проверьте, какие наборы символов используются вашим «домашним» сервером и «предполагаемым» сервером. Если они не совпадают (например, utf-8 дома, но latin-1 на работе), это приведет к стиранию любых нестандартных символов ascii, таких как символ авторского права.

person Marc B    schedule 21.03.2011
comment
Только что проверил, предполагаемый сервер выводит правильную информацию заголовка, у меня есть два разных электронных письма, одно отправлено в ISO-8859-1, а другое в utf-8, к сожалению, ни одно из них не сработало, но я вижу код объекта в необработанном тексте , и это выглядит правильно. Что меня сбивает с толку, так это то, что все остальные сущности работают нормально в электронной почте, кроме этой. - person Conor; 21.03.2011
comment
Из-за того, что он использует специальные символы html, кодировка не имеет значения, не так ли? Специальные символы переводятся при отображении, поэтому проблемы с кодировкой не должны быть причиной. - person strauberry; 21.03.2011