SQLite Charset / Изменение кодировки символов в php - PullRequest
2 голосов
/ 11 августа 2011

У меня есть некоторые причудливые символы (медицинские символы) в базе данных sqlite, for eg: Aβ2M, но когда я выбираю записи, используя Codeigniter SQLite PDO Driver , результат будет Aβ2M.

Я читал эту статью Как изменить кодировку символов соединения PDO / SQLite в PHP? и пробовал utf_decode, что приводит к этому выводу A?2M

Так, как и какую кодировку я должен установить, выбирая записи, чтобы решить эту проблему?

1 Ответ

2 голосов
/ 11 августа 2011

Если данные действительно хранятся в вашей базе данных как UTF-8, объявив эту кодировку (либо на странице с метатегом, либо в заголовке HTTP) должно быть достаточно.

Пока вы просто отображаете текст, не особенно важно, чтобы PHP "понимал", какие символы на самом деле есть, но браузер должен знать правильную кодировку, чтобы интерпретировать и правильно отображать страница. (Конечно, если вы начнете выполнять какую-либо обработку ваших строк в PHP, вам необходимо убедиться, что вы используете многобайтовые функции и также предоставили правильный набор символов).

utf8_decode здесь вам не поможет, так как вы пытаетесь показать символы, которые не являются частью ISO 8859-1, набор символов, который функция декодирует в.

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