charset utf-8 не отображает é, á, í или ú

У меня есть база данных, в которой хранятся некоторые необычные символы, введенные посетителями: например, é, á, í и ú.

Моя страница HTML 5 отображается? вместо персонажа, когда я использую

<meta charset="utf-8">

но когда я использую

<meta charset="ISO-8859-1">

символы отображаются правильно.

Однако, когда я указываю последнюю кодировку, валидатор W3C выдает сообщение об ошибке:

Ошибка: неверное значение ISO-8859-1 для атрибута charset в элементе meta:
изо-8859-1

Есть ли способ получить правильное отображение символов и получить подтверждение W3C, или я ожидаю слишком многого?

С уважением

одевать

Предложенный «уже отвеченный» вопрос неприменим, потому что: 1) моя версия php 5.4, а не 5.5 (2) я не понимаю ответ, который, кажется, нацелен на людей, которые имеют большую глубину знаний, чем я.

-1

Решение

Хорошо, я думаю, что у меня есть ответ сейчас. Спасибо deceze за указание мне на: http://kunststube.net/frontback/

Сначала я проверил базу данных, и для полей установлены параметры сортировки; utf8_general_ci, который я считаю правильным.

Теперь у меня есть:

<meta charset="utf-8">

вверху страницы и соединение с базой данных теперь:

$dbh = new PDO("mysql:host=$hostname;dbname=$dbname; charset=utf8;", $username, $password);

Добавление кодировки там, похоже, решило проблему, и теперь символы отображаются правильно, в то время как страница проходит проверку W3C.

Большое спасибо за помощь.

одевать

1

Другие решения

Вы ищете специальные символы, часто описываемые как «сущности HTML». В частности, вы ищете HTML-объекты ISO-8859-1. Вы можете отображать каждый из этих символов, как этот, не отказываясь от кодировки UTF-8.

Для отображения «é» используйте &#233; или же &eacute;

Для отображения «á» используйте &#225; или же &aacute;

Для отображения «í» используйте &#237; или же &iacute;

Для отображения «ú» используйте &#250; или же &uacute;

В каждом из этих случаев вы пишете &...; вместо буквы, включая точку с запятой. Таким образом, чтобы написать слово «éclair» вы бы использовали &eacute;clair,

Для большего количества символов вы можете найти довольно полную ссылку Вот.

-1

По вопросам рекламы [email protected]