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.

Другие вопросы по тегам