Как узнать, что такое моя кодировка mySQL (utf-8, windows-1255 и т. Д.) - PullRequest
3 голосов
/ 31 июля 2011

Я использую phpMyAdmin для управления своими таблицами.

моя база данных имеет кодировку UTF-8 (я изменил ее параметры сортировки - на вкладке «Операции» на utf8_general_ci).

Кодировка таблицы - UTF-8 (я изменил ее параметры сортировки - на вкладке «Операции» на utf8_general_ci).

и даже текстовые поля внутри таблицы имеют вид utf8_general_ci.

Дело в том, что в этом браузере отображаются странные знаки вопроса (но весь другой текст, не связанный с базой данных, будет отображаться правильно):

<meta HTTP-EQUIV="content-type" CONTENT="text/html; charset=UTF-8" />

и с этой строкой браузер корректно отображает данные базы данных (но все остальные тексты не читаются):

<meta HTTP-EQUIV="content-type" CONTENT="text/html; charset=windows-1255" />

Я предполагаю, что это означает, что база данных закодирована в "windows-1255" - но почему ?! Как я могу определить его как utf-8 и отображать для меня нелатинские символы? Есть ли способ сделать это в phpMyAdmin? и что я делаю не так?

1 Ответ

3 голосов
/ 31 июля 2011

Ваша база данных должна быть в UTF-8 (Вы можете проверить это в PHPMyAdmin)
Ваше соединение должно быть в UTF-8 (до первого запроса: SET NAMES utf-8 или по умолчанию где-то в настройках)
Ваша мета-тег или заголовок должны быть UTF-8 (Content-type: text/html; charset=utf-8)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...