UTF-8 строка где-то неправильно закодирована - PullRequest
2 голосов
/ 29 января 2011

У меня есть столбец, title, который имеет формат CHAR (50) utf_genral_ci.У меня есть php-скрипт, который успешно вставляет новую строку со значением title "Bjørn".

Проблема возникает, когда я хочу вытащить ее снова.Как только она присвоена переменной, строка становится «Bjørn».

Некоторые указали мне на mb _ * (), однако, так как это не проблема, когда я извлекаю ее из формы и вставляю ее,но только когда я получаю его из mysql, я не верю, что это может быть.

Я убедился, что он на самом деле правильно закодирован в mysql, а сервер, база данных, таблица, столбец и соединение - ВСЕ UTF-8.

Пожалуйста, кто-нибудь, спасите меня от этого кошмара!

Заранее спасибо

Ответы [ 2 ]

1 голос
/ 29 января 2011

Оказалось, потому что я использовал функцию php htmlentities () в моей строке.Очень странно, так как в прошлый раз я пытался, он также выводил неверно прямо из базы данных.

У меня были проблемы с этим весь день, поэтому решение одной проблемы вызвало другую.

Спасибо, что нашли время.

0 голосов
/ 29 января 2011

Проверяли ли вы значение в базе данных с помощью инструмента администратора, такого как phpMyAdmin или MySQL Workbench? Если оно отображается неправильно, попробуйте преобразовать имя в utf-8, используя iconv ($in_charset, 'utf-8', $str). Если это правильно, убедитесь, что кодировка в вашем браузере установлена ​​на UTF-8.

...