我在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
那么在获取记录以解决此问题时,我应该如何设置和编码?
答案 0 :(得分:2)
如果数据在数据库中真正存储为UTF-8,则声明charset(在带有元标记或HTTP标头的页面上)应该就足够了。
只要您只是显示文本,PHP“理解”字符实际上是什么并不是特别重要,但浏览器 需要知道正确的字符集才能正确解释显示页面。 (当然,如果你开始在PHP中对字符串进行任何处理,你需要确保你正在使用多字节感知函数并在那里提供正确的字符集。)
utf8_decode
在这里不会帮到你,因为你试图显示不属于ISO 8859-1的字符,即函数解码的字符集。