У меня проблемы с кодировкой китайского на сайте ASP.Форматы файлов:
- translations.txt - UTF-8 (для хранения моих переводов)
- test.asp - UTF-8 - (для отображения страницы)
test.asp читает файл translations.txt, который содержит следующие данные:
Help|ZH|帮助
Home|ZH|首页
test.asp разделяется на разделитель канала и, если пользователь содержит файл cookie с ZH, он будетотобразить этот перевод, иначе он просто вернется к значению ключа.
Теперь я попробовал следующие вещи, которые не работали:
Добавить метатег
<meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
Установить Response.CharSet = "UTF-8"
- Установить
Response.ContentType = "text/html"
- Установить сеанс.CodePage (и Response) для 65001 (UTF-8)
- Я подтвердил, что текст в
translations.txt
определенно находится в UTF-8 и имеет без метки порядка байтов - Браузер обнаруживает, что страница имеет кодировку Unicode UTF-8, но страница отображает gobbledegook.
- Метод
Scripting.OpenTextFile(<file>,<create>,<iomode>,<encoding>)
возвращает один и тот же неверный текст независимо от того,параметра кодирования.
Вот пример того, что я хочу показать в Китае (ZH):
Но отображается следующее:
Это происходит во всех протестированных браузерах - GoogleChrome, IE 7/8 и Firefox 4. У шрифта определенно есть китайская ветвь глифов.Кроме того, у меня установлены восточные языки.
-
Я попытался вставить исходное значение в HTML, что сработало (но обратите внимание, что это жестко закодированное значение).
Однако это странно.
首页 - (в шестнадцатеричном виде) --> E9 A6 96 E9 A1 - (в виде символов) -> é¦ – 页
Есть идеи, что мне не хватает?