php - php 中的 SQLite 字符集/字符编码更改

标签 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
那么在获取记录以解决此问题时,我应该如何设置以及设置什么编码?

最佳答案

如果数据确实以 UTF-8 格式存储在您的数据库中,那么声明该字符集(在带有元标记或 HTTP header 的页面上)就足够了。

只要您只是显示文本,PHP“理解”字符实际上是什么并不是特别重要,但浏览器确实需要知道正确的字符集来解释和正确显示页面。 (当然,如果您开始在 PHP 中对字符串进行任何处理,则需要确保您正在使用多字节感知函数并在那里提供正确的字符集)。
utf8_decode在这里对您没有帮助,因为您试图显示不属于 ISO 8859-1 的字符,即函数解码到的字符集。

关于php - php 中的 SQLite 字符集/字符编码更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7027890/

相关文章:

php - 使用 Paypal 引用付款创建结算协议(protocol)问题

php - codeIgniter 将解析器结果分配给变量

python - 为什么python以乱码字符写入文件

css - CodeIgniter 开/关 form_checkbox() 按钮不发送 $_POST 数据

javascript - RCurl处理汉字

nginx - 我在CSS文件中添加了一行文本,垃圾通过浏览器进入

php - 使用 PHP 构建 ORM 时需要的功能?

php - 为什么我在 PHP 中遇到段错误?

multithreading - pthread 在 php 中不工作

php - 在没有数据库的情况下存储、更新、检索 PHP 应用程序的设置