MySQL Collation или PHP для правильного отображения букв с диакритическими знаками

StackOverflow https://stackoverflow.com/questions/2541871

Вопрос

Какова наилучшая сортировка для столбца, которая позволяет хранить буквы с диакритическими знаками и идеально их анализировать без каких-либо ошибок кодирования, потому что всякий раз, когда я добавляю букву с диакритическими знаками, например é, å, это проявляется в проблеме кодировки на стороне PHP, но на стороне MySQL все в порядке...

Как сделать так, чтобы буквы с диакритическими знаками отображались правильно?

Это было полезно?

Решение

Вы получаете их правильно, сопоставляя кодировку на обоих концах, т.е.и ваш вывод PHP, и ваша БД должны использовать одну и ту же кодировку.Для европейских языков я бы предложил использовать UTF-8 как для ваших скриптов, так и для БД.Просто помните, что вам все равно придется инициализировать параметры сортировки UTF-8 в MySQL, используя SET NAMES 'utf8' COLLATE 'utf8_general_ci' (поэтому запустите этот запрос сразу после подключения к БД, и все будет в порядке).

Другие советы

Возможно, ваша проблема не в базе данных, а в том, как вы отображаете данные из PHP?Какую кодировку контента вы указываете в выводе?Возможно, вам придется вручную отправить заголовок, чтобы указать, что содержимое имеет формат UTF-8, если вы пытаетесь его вывести.

Например: header("Content-Type: text/html; charset=UTF-8");

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top