E с акцентом не отображается правильно
На моей странице текст в верхней середине ( "Ce site Internet." ) содержит E с акцентами, которые на моем компьютере отображаются как вопросительные знаки.
Это несмотря на то, что у меня есть meta charset = "UTF-8" в моем заголовке, а файл PHP, содержащий текст, появляется как UTF-8 при открытии с помощью Notepad ++.
Что происходит дальше?
Ответы
Ответ 1
Браузер отображает их, когда он не может понять числа, которые он читает.
UTF-8 является самосинхронизацией. В отличие от других многобайтовых кодировок, вы всегда знаете, где находитесь с UTF-8. Если вы видите номер 192-247, вы знаете, что находитесь в начале многобайтовой последовательности. Если вы видите 128-191, вы знаете, что находитесь в середине одного. Нет никакой опасности пропустить первый номер и уничтожить остальную часть текста.
Это означает, что в UTF-8 последовательность 191, за которой следует 224, никогда не будет происходить естественным образом, поэтому браузер не знает, что с ней делать, и вместо этого отображает.
В теге заголовка используйте следующее:
<meta charset="UTF-8">
<meta http-equiv="Content-type" content="text/html; charset=UTF-8">
Смотрите: http://coding.smashingmagazine.com/2012/06/06/all-about-unicode-utf8-character-sets/
Ответ 2
Хотя вы анонсируете контент как UTF-8 в мета и HTTP-заголовках, это не UTF-8, который отправляется. Возможно, вам нужно будет проверить свои настройки PHP, что на самом деле выводит контент в правильной кодировке. http://php.net/manual/en/mbstring.configuration.php.
Ответ 3
Вы использовали коды ASCII/HTML для акцентированных символов? Если нет, вот список из них. Ищите "E sharp", и вы должны исправить код для этого персонажа (это & Eacute;
(без пробела), я думаю).
Сначала я подумал, что это семейство шрифтов, которое вы использовали, но я не думаю, что это связано с тем, что я отключил все стили в своем браузере, и они все еще появились как вопросительные знаки.
Ответ 4
Страница на самом деле не закодирована в UTF-8, она закодирована в Latin1. Вам нужно фактически сохранить файлы исходного кода в UTF-8 или иначе убедиться, что они выводятся в кодировке UTF-8. В настоящее время у вас есть разрыв между тем, что, по утверждению сайта, будет закодировано и чем оно фактически закодировано.