utf8_encode и дилемма акцентированных символов? - PullRequest
2 голосов
/ 31 марта 2011

Я столкнулся с парадоксом при декодировании с utf8_encode декодированием.У меня есть база данных MySQL с сопоставлением uft8, чьи поля имеют кодировку utf8_general.У меня есть php-файл в utf8, и в моих HTML-страницах я указал в заголовке кодировку utf8.

Моя проблема в том, что когда я выбираю из таблицы поле, содержащее акцентированные символы (например, èçò *é ), и отображаю это в браузере, я получаю странные символы.

Чтобы решить мою проблему, я должен повторить $description=utf8_encode($imm['description']).

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

Ответы [ 2 ]

2 голосов
/ 31 марта 2011

Я просто догадываюсь, что ваша база данных соединение не установлено в UTF-8.
См. SET NAMES utf8 в MySQL?

1 голос
/ 31 марта 2011

вам нужно указать заголовок, используя php, чтобы быть utf-8.также убедитесь, что формат символов - utf-8 перед сохранением в БД, потому что utf_encode кодирует строку ISO-8859-1 в UTF-8, что, скорее всего, означает, что символы сохраняются как ISO-8859-1 вsa utf-8 table.

убедитесь, что вы преобразовали эти символы в utf-8 перед сохранением их в БД, а затем эхо не должно быть проблемой вообще.

Источник: имелточно такая же проблема у меня самого.

...