Мою страницу часто показывает такие вещи, как ë, Ã, ì, ù, à в место нормальных символов.
Я использую utf8 для страницы заголовок и MySQL кодирования. Как это происходит?
Это в кодировке UTF-8 символы. Используйте utf8_decode(), чтобы преобразовать их в нормальной кодировке ISO-8859-1 символы.
Если вы видите этих персонажей, вы, наверное, просто не указать кодировку правильно. Потому что эти символы являются результатом, когда в UTF-8 многобайтовых строк интерпретируется с однобайтная кодировка, как ИСО 8859-1 или в Windows-1252.
В этом случаеë
могут быть закодированы с 0xC3 0xAB, что представляет собой символ Unicode ë
(у+00EB) в UTF-8.
Несмотря на utf8_decode-это полезное решение, я предпочитаю исправлять ошибки с кодировками на саму таблицу. На мой взгляд это лучше, чтобы исправить плохие персонажи себя чем-то "хаки" в код. Просто выполните "заменить" на поле на стол. Чтобы исправить плохо закодированных символов из ОП :
update <table> set <field> = replace(<field>, "ë", "ë")
update <table> set <field> = replace(<field>, "Ã", "à")
update <table> set <field> = replace(<field>, "ì", "ì")
update <table> set <field> = replace(<field>, "ù", "ù")
Где в <Таблица>
имя таблицы MySQL и в <поле>
- название столбца в таблице. Вот очень хороший чек-лист для тех, кто обычно плохо кодировке Windows-1252, которая в UTF-8 символы -> отладка диаграмма сопоставления с Windows-1252 символов в UTF-8 байты в символы Latin-1.
Не забудьте сделать резервную копию вашего стола, прежде чем пытаться заменить любые символы с SQL!
[Я знаю, что это ответ на очень старый вопрос, но перед вопросом в очередной раз. Некоторые старые окна машины не закодированных правильный текст перед вставкой его в utf8_general_ci обобщены в таблице.]