我在 sqlite 数据库中有一些花哨的字符(医学符号),for eg: Aβ2M
但是当我使用 Codeigniter SQLite PDO Driver 获取记录时输出结果是Aβ2M
.
我读了这篇文章How to change character encoding of a PDO/SQLite connection in PHP?并尝试了utf_decode
这导致此输出 A?2M
那么在获取记录以解决此问题时,我应该如何设置以及设置什么编码?
最佳答案
如果数据确实以 UTF-8 格式存储在您的数据库中,那么声明该字符集(在带有元标记或 HTTP header 的页面上)就足够了。
只要您只是显示文本,PHP“理解”字符实际上是什么并不是特别重要,但浏览器确实需要知道正确的字符集来解释和正确显示页面。 (当然,如果您开始在 PHP 中对字符串进行任何处理,则需要确保您正在使用多字节感知函数并在那里提供正确的字符集)。utf8_decode
在这里对您没有帮助,因为您试图显示不属于 ISO 8859-1 的字符,即函数解码到的字符集。
关于php - php 中的 SQLite 字符集/字符编码更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7027890/