По-видимому, кодирование японских электронных писем является довольно сложной задачей, которую я постепенно открываю для себя. Если есть какие-либо эксперты (даже те, кто имеет ограниченный опыт), могу ли я дать некоторые рекомендации о том, как это сделать, как это проверить и как это проверить?
Имейте в виду, что я никогда не ступал рядом с Японией, просто продукт, который я разрабатываю, используется там, среди других мест.
Что (я думаю) я знаю до сих пор:
- Японские электронные письма должны быть закодированы в ISO-2022-JP, кодовая страница JIS Японии 50220 или, возможно, кодовая страница SHIFT_JIS 932
- Кодировка передачи электронной почты должна быть установлена на Base64 для простого текста и 7Bit для Html
- Тема письма должна быть закодирована отдельно, чтобы начать с "=? ISO-2022-JP? B?" (не знаю, что это должно означать). Я пытался кодировать тему с
"=?ISO-2022-JP?B?" + Convert.ToBase64String(Encoding.Unicode.GetBytes(subject))
, который в основном дает закодированную строку, как и ожидалось, но не представляется как любой японский текст в почтовой программе
- Я тестировал в Outlook 2003, Outlook Express и GMail
Любая помощь будет принята с благодарностью
Хорошо, поэтому, чтобы опубликовать краткое обновление, благодаря двум полезным ответам мне удалось получить правильный формат и кодировку. Теперь Outlook выдает что-то похожее на правильную тему:
=?iso-2022-jp?B?6 Japanese test に各々の視点で語ってもらった。 6相当の防水?=
Тем не менее, точно такой же адрес электронной почты в Outlook Express задает тему следующим образом:
=?iso-2022-jp?B?6 Japanese test 縺ォ蜷・・・隕也せ縺ァ隱槭▲縺ヲ繧ゅi縺」縺溘・ 6逶ク蠖薙・髦イ豌エ?=
Кроме того, при просмотре в папке «Входящие» в Outlook Express тема электронной почты выглядит еще более странно, например:
=?iso-2022-jp?B?6 Japanese test ??????????????? 6???????=
Похоже, что Gmail работает аналогично Outlook, что выглядит правильно.
Я просто не могу разобраться с этим.