=? проблема кодирования gb2312 и рекомендация

Я пишу код Java для декодирования входящего трафика электронной почты, закодированный с помощью =? Gb2312? и не всегда MimeUtility.decodeText() успешно выполняется с китайскими символами.
Я вижу несколько рекомендаций для использования =? Gb18030? вместо этого, и это работает для набора, который я попробовал.

Безопасно ли заменить gb2312 на gb18030?

2 ответа

Я просто смотрел на это для клиента на днях. Вместо этого вы можете использовать GBK или CP936 для правильного декодирования GB2312.

Выяснил, что GB18030 работает хорошо. Также обнаружил, что Java-почта использует это отображение:

# Chinese charsets are a mess and widely misrepresented.
# gb18030 is a superset of gbk, which is a supserset of cp936/ms936,
# which is a superset of gb2312.
# https://bugzilla.gnome.org/show_bug.cgi?id=446783
# map all of these to gb18030.
gb2312      GB18030
cp936       GB18030
ms936       GB18030
gbk     GB18030
Другие вопросы по тегам