HTML - кодировка windows 1255 работает, но utf-8
Я написал HTML-страницу, которая отображает смешанный иврит / английский контент. Он отлично работает с кодировкой "windows - 1255"
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
<html dir="rtl" lang="he">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1255">
Но я подумал, что у людей будут проблемы, если их машины не поддерживают иврит. Я изменил кодировку на UTF-8 и получил
HTML:
meta http-equiv="Content-Type" content="text/html; charset=utf-8"
Посмотреть:
"��� ��� ������, ��� ����� �����, �� ������ ���� ��� ���� �� ������"
Read zohar ��� ����
....
Разве UTF-8 не поддерживает больше символов, чем Windows 1255?
2 ответа
Я думаю, что когда вы изменили тег, вы не сказали своему редактору преобразовать файл в UTF-8. Таким образом, файл все еще в формате Windows-1255, но браузер пытается прочитать его, как если бы он был UTF-8, поэтому вы получаете плохие / нечитаемые символы.
Я понятия не имею, какой редактор вы используете, поэтому я не могу рассказать вам, как перевести его в режим UTF-8. Попробуйте найти настройку в ваших настройках относительно набора символов для использования. Или откройте файл в блокноте Windows, и при сохранении убедитесь, что вы выбрали "Кодовая страница: UTF-8" из выпадающего списка рядом с кнопкой сохранения.
Отношение к Unicode
Блок Unicode Hebrew (U+0590–U+05FF) следует Windows-1255, кодируя буквы и гласные в тех же относительных позициях, что и Windows-1255. Юникод идет дальше в кодировании кантиляционных меток в нижних позициях. Юникод иврит всегда в логическом порядке.
Для современных приложений предпочтительным является кодирование UTF-8 или UTF-16.
Источник: http://en.wikipedia.org/wiki/Windows_1255
Мне кажется, что ваша кодировка все еще должна работать, если ваши символы находятся в блоке иврит Unicode.