Конвертиране на HTML страница към Unicode

Целева аудитория: новодошлите в интернационализацията които желаят да променят кодировката на техните HTML страници.

Въпрос

Кад да променя кодировките на моите HTML страници с Unicode/UTF-8?

Вие сте чували че е полезно да кодирате своите страници с Unicode(UTF-8) вместо със старите кодировки за символи като Latin 1 (Windows 1252 или ISO 8859-1) или Shift_JIS, и сте чували че другите го правят, но не сте сигурни как да го направите. Тази страница ще ви помогне.

Отговор

Тук сме събрали информацията от която се нуждаете за да конвертирате проста страница към Unicode кодировка на символите. Следвайте препратките към другите статии ако се нуждаете от по-детайлна информация за някоя от стъпките.

За по-подробна информация относно конвертиране на сложни сайтове, софтуер и данни в Unicode формат, вижте статията Преминаване към Unicode.

Стъпка 1: Запишете данните като UTF-8

Не е достатъчно да промените само декларациите в своите страници за да обозначите че страницата е кодирана с UTF-8. Трябва данните в действителност да са кодирани т.е. записани в UTF-8 формат.

Ако работите с файлове редактирани на ръка трябва да използвате вашият редактор за да ги запишете с UTF-8 вместо с кодировката която сте използвали преди това. Ако генерирате файлове от скриптове или бази от данни, трябва да се убедите че данните са конвертирани където е необходимо и че правилните параметри са настроени във вашата среда за изпълняване на скриптове.

Трябва да се убедите че данните не съдържат UTF-8 маркировка, още позната като byte-order mark (BOM).

Стъпка 2: Декларирайте кодировката във вашите страници

Трябва да промените декларацията за кодировка на символите във вашата страница (или да добавите такава ако все още не сте я декларирали).

В най-простия си вариант, това изглежда както следва и трябва да се намира в началото на head елемента във вашия HTML код.

<meta charset="utf-8"/>

Стъпка 3: Убедете се че вашият сървър изпълнява правилните неща

Въпреки че вашите данни са в UTF-8 и сте го декларирали в страницата, възможно е сървърът да предоставя страниците със съпровождаща заглавна част на HTTP (хедър) който казва че това е нещо друго.

Тествайте го като въведете URL-то на страницата си във това поле. То ще ви отведе към Проверка за интернационализация. Потърсете в таблицата за реда с названието HTTP Content-Type, под Character Encoding, и се уверете че стойността е UTF-8 или No encoding information found.

Ако HTTP Content-Type е с кодировка различна от UTF-8 ще трябва да предприемете мерки за да го коригирате, защото декларацията в HTTP хедъра ще надделе над информацията в страницата.

Необходими са ви администраторски права за да промените кодировката на заглавната част на HTTP, въпреки че би могло да го направите сами дори и ако вашите страници се хостват от доставчик на интернет. Консултирайте се с администратора на сървъра. Вижте инструкциите как да направите това за Apache сървър.