Ваши данные правильно хранятся в базе данных, когда вы пишете файлы, используя ваш скрипт. Доказательством этого является то, что они отображаются правильно, когда вы выводите данные обратно. Если вы не видите данные, правильно отформатированные в вашем phpmyadmin, это означает, что страница неправильно настроена для отображения utf-8.
Самый простой способ проверить это - Ctrl + U, чтобы просмотреть исходный код вашего phpmyadmin и найти:
< meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
Также должно отображаться:
MySQL charset: UTF-8 Unicode (utf8)
MySQL connection collation: utf8_unicode_ci
На самой первой странице при открытии phpMyAdmin. Если вы не видите их обоих, выполните следующие действия, чтобы исправить это:
A) Непосредственное решение, о котором я мог подумать, - это изменить или принудительно преобразовать кодировку символов браузера в utf-8. В Mozilla Firefox его можно настроить через «Вид» -> «Кодировка символов» -> «Юникод» (UTF-8)
.
или B) Другим элегантным решением может быть изменение конфигураций phpMyAdmin, чтобы он отправлял и устанавливал правильную кодировку в заголовке Content-Type как Content-Type: text / html; charset = utf-8. Для этого нам нужно отредактировать файл config.inc.php, находящийся в корневом каталоге phpMyAdmin:
$cfg['DefaultCharset'] = 'utf-8'; and
$cfg['AllowAnywhereRecoding'] = true;
Эти изменения конфигурации должны отправлять правильные заголовки. В любом случае, если для lang cookie уже задана какая-либо другая кодировка, изменения не будут отражены. Поэтому, чтобы увидеть изменения, может потребоваться очистить куки.
Кредит на вышеуказанные решения: http://rajeshanbiah.blogspot.com/2004/12/storing-unicode-texts-in-mysql-with.html