可能重复:
一直到 UTF-8
我正在从带有 Café 字样的网络上用 curl 抓取数据。当我回显它时它看起来很好,但在插入 mysql 数据库后它变成了 Café
如何处理它。
运行时配置:
mb_internal_encoding("UTF-8");
并将文本编辑器中的文件编码设置为不带 BOM 的 UTF8(例如在 Notepad++ 中:编码菜单,然后在不带 BOM 的情况下转换为 UTF8)
在您的编辑器/设计器 (PhpMyAdmin) 中将所有编码和排序规则设置为 UTF8。
我不知道您使用的是什么驱动程序,用于 mysqli (以及用于 mysql 但请不要使用它):
"SET CHARACTER SET 'utf8'"
'SET NAMES utf8'
PDO 对此有自己的配置,请参阅 php.net。
使用标头调用设置它:
header('Content-Type: text/html; charset=utf-8');
您需要检查几件事。首先检查您使用的表上的编码是否能够支持您需要的任何特殊字符。使用类似的东西utf-unicode-ci
。我建议阅读一下这些内容。
有几种 utf8 字符编码,它们针对不同语言的搜索进行了优化,因此它们的名称。有关 unicode 字符集的更多信息,请阅读此处
您还必须确保您的连接知道您在 php.ini 中使用的字符编码。