2016-05-01 4 views
2

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

> Content-Type: text/plain; charset="utf-8" 

Я думаю, что это проблема, для решения которой мне нужно изменить charset на один, который совместит с китайцами. Но где я могу это изменить?

Я не думаю, что могу изменить его на моей стороне, так как проблема возникает независимо от того, какой почтовый клиент я использую. Список рассылки работает по адресу Python mailman.

+0

Вы можете просматривать правильные китайские иероглифы в других приложениях или программах на своем устройстве? Я думаю, вы можете упустить шрифты с вашего устройства. –

+0

@HarryPehkonen У меня нет проблем с просмотром китайских иероглифов в других приложениях. –

ответ

1

Content-Type: text/plain; charset = "utf-8"

Это не проблема.

UTF-8 может отображать каждый символ на каждом языке. Вероятно, на самом деле происходит то, что данный веб-сайт хранит данные в базе данных, которая является не true UTF-8, например MySQL utf8_ сопоставления и наборы символов which are not true UTF-8.

Если проблема с хранилищем базы данных не возникает, проблема возникает из набора символов, используемого при создании электронной почты или вставки данных в шаблон электронной почты, где-то вдоль линии источник электронной почты не UTF-8 или соответствующий полный китайский набор символов.

Такие, как:

  • форма HTML ввода не установлен в UTF-8 (или правильный китайский набор символов),
  • HTML входной формы контейнера веб-страница не установлен в UTF-8, форме HTML-ПОЛУЧАТЬ/код не установлен в UTF-8 (или правильный китайский набор символов),
  • Генератор шаблонов электронной почты не установлен в UTF-8 (или правильный китайский набор символов).
  • Отправляющий сервер в противном случае не использует заголовки UTF-8 по умолчанию.

Также в то время как вы утверждаете, «содержание в основном китайский» это не сужает, сколько есть, по крайней мере, пять основных китайские письменные языки и множество мелких языков, использующих одни и те же или очень похожие наборы символов.

Вы хотите, чтобы письмо было сконструировано с использованием International Resource Identifiers, используя кодировку UTF-8. UTF-8 реализует unicode, а в юникоде каждый символ имеет код, который находится между 0x4E00 и 0x9FFF (2 байта) для всех китайских символов.

Но UTF8 не кодирует символы, просто сохраняя их код (UTF32 делает это). Вместо этого он использует более сложный стандарт, который делает все китайские идеограммы длиной 2 или 3 байта.

Для справки: Python Mailman and UTF-8 details (вопрос 2008 года) и character conversion guide (2009). Также this Stackoverflow anwser.

+0

Спасибо Мартину. Я довольно уверен, что на самом деле это не проблема с базой данных или другими серверами, так как я вижу, что другие пользователи счастливо общаются с китайскими иероглифами (они видны как «?» Для бедных). Есть ли какое-нибудь предложение для решения этой проблемы? –

+0

@SibbsGambling, читающий, что проблема не меняется с вашей стороны разными почтовыми клиентами, то это означает, что проблема гораздо чаще будет самой кодировкой электронной почты или иначе кодировка на веб-сайте отправителя/ядре данных, как указано в моей Ответ. Вероятно, они не используют правильный набор символов (например, MySQL * 'utf8_' *), и они не удосуживаются получить собственные электронные письма. Можно ли говорить с их технической поддержкой? – Martin

+0

@SibbsGambling ИЛИ вам необходимо внести фундаментальные изменения в некоторые настройки в вашей системе, можете ли вы поделиться своим вопросом больше о том, что ваша система и какие почтовые клиенты вы пробовали и протестировали эту проблему? Приветствия – Martin

 Смежные вопросы

  • Нет связанных вопросов^_^