2012-04-23 2 views
0

Я пытаюсь создать веб-страницу на китайском языке, и я понял, что, хотя текст выглядит отлично, когда я запускаю его в браузерах, как только я меняю кодировку символов, текст становится тарабарщиной. Вот что происходит:Вопросы по китайскому кодированию

  1. Я создаю свой html-файл в Emacs, закодированном в UTF-8.
  2. Я загружаю его на сервер и просматриваю его в своих браузерах (FF, IE, Chrome, Opera) - без проблем.
  3. Я пытаюсь просмотреть страницу в других кодировках через FF> Вид> Кодировка символов> Все эти различные китайские системы кодирования, например. Chinese Simplified (HZ)
  4. Помимо UTF-8, при любой другой кодировке текст становится тарабарщиной.

Я предполагаю, что это не проблема - то есть браузеры достаточно умны, чтобы знать, в какую кодировку находится страница, и точно разбирать контент. Мне интересно, почему я не могу читать китайский текст больше, когда меняю кодировку - это потому, что у меня нет китайских шрифтов, установленных на моей ОС? Должен ли я придерживаться UTF-8, если моя аудитория китайская или я должен выбрать одну из своих многочисленных систем кодирования?

Заранее за вашу помощь/мнение.

ответ

2

UTF не является кодировкой «catch-all». Он предназначен для обозначения символов символов международного языка для удобства использования, но по-прежнему является кодировкой, как и другие кодировки, которые вы выбрали. Вам нужно будет перепечатать текст в каждой кодировке, чтобы он отображался правильно при просмотре с помощью этой кодировки.

+0

Повторно введите текст? Вы говорите, что я должен создавать отдельные файлы, каждый из которых написан и сохранен с другой кодировкой? Тогда как я могу решить, какой файл служить? – anthonytwp

+0

Да, но вы должны следовать совету Agent_L и определять кодировку кодировки в HTML, что позволит сэкономить гораздо больше времени. Если вам нужны отдельные файлы, должно быть возможно написать сценарий для автоматической кодировки UTF-8 для каждой другой кодировки, которая должна поддерживаться, но думать вперед, имея несколько копий одного и того же содержимого, может стать проблемой обслуживания. – MHTri

+0

Я считаю, что он имел в виду ситуацию, когда клиент запрашивает файл и явно требует его в какой-то другой кодировке. Хотя это возможно, маловероятно, что современный браузер не поддерживает utf-8 (к моим предвзятым знаниям eu/us). –

2

Кодирование Viewer ДОЛЖНО соответствовать файлу, который считывается. Просмотр UTF-8, как что-то другое, делает такой же смысл, как переименование .txt в .exe и попытка его запуска.

Вы должны указать правильное кодирование в HTML. Вариант, который вы используете в веб-браузере, существует только в тех редких случаях, когда веб-разработчик прикрутил свою работу и объявил другую кодировку, чем фактически использовал ИЛИ перепутал 2 разных кодировки на одной странице.

+1

Да, я тоже так понял, потому что у меня никогда не было проблем с просмотром моих страниц - предположим, что браузер обнаружил для меня кодировку. Кстати, «Вы должны указать правильную кодировку в HTML», вы имеете в виду '' right? – anthonytwp

+0

Да, или для HTML старше 5. В случае возникновения проблем помните, что сервер также объявляет кодировку при отправке в HTTP-заголовке. Администратор вашего сервера должен знать, как исправить это: если он сломан. Вы можете проверить их, например. Firebug. –

0

Конечно, изменение кодировки в вашем браузере «сломает» текст! Браузер берет поток кодовых точек UTF-8 и пытается заставить другую кодировку необработанных данных. Излишне говорить, что результат не очень. Изменение кодировки в браузере НЕ является эквивалентом преобразования.

Как вы догадались, современные браузеры обычно угадывают правильно - но не всегда. Поскольку Agent_L обязательно объявляет кодировку в заголовках.

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