SQLite Charset /字符编码在php中发生了变化

时间:2011-08-11 14:43:32

标签: php codeigniter character-encoding sqlite

我在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

那么在获取记录以解决此问题时,我应该如何设置和编码?

1 个答案:

答案 0 :(得分:2)

如果数据在数据库中真正存储为UTF-8,则声明charset(在带有元标记或HTTP标头的页面上)应该就足够了。

只要您只是显示文本,PHP“理解”字符实际上是什么并不是特别重要,但浏览器 需要知道正确的字符集才能正确解释显示页面。 (当然,如果你开始在PHP中对字符串进行任何处理,你需要确保你正在使用多字节感知函数并在那里提供正确的字符集。)

utf8_decode在这里不会帮到你,因为你试图显示不属于ISO 8859-1的字符,即函数解码的字符集。