Php Caf&xE9;成为Caf&xC3©;当进入mysql数据库时

Php Caf&xE9;成为Caf&xC3©;当进入mysql数据库时,php,mysql,curl,Php,Mysql,Curl,可能重复: 我用curl从一个有单词Café的网站上抓取数据。当我回显它时,它看起来很好,但在mysql数据库中插入后,它变成了CafÙ如何处理它。有几件事需要检查。首先检查您使用的表上的编码是否能够支持您需要的任何特殊字符。使用类似于utf-unicode-ci。我建议读一读这些 有几种utf8字符编码,它们针对不同语言的搜索进行了优化,因此得名。有关unicode字符集的详细信息,请阅读 您还必须确保您的连接知道您在php中使用的字符编码。php:内部编码,文件编码 运行时配置: mb_

可能重复:


我用curl从一个有单词Café的网站上抓取数据。当我回显它时,它看起来很好,但在mysql数据库中插入后,它变成了CafÙ
如何处理它。

有几件事需要检查。首先检查您使用的表上的编码是否能够支持您需要的任何特殊字符。使用类似于
utf-unicode-ci
。我建议读一读这些

有几种utf8字符编码,它们针对不同语言的搜索进行了优化,因此得名。有关unicode字符集的详细信息,请阅读

您还必须确保您的连接知道您在php中使用的字符编码。

php:内部编码,文件编码 运行时配置:

mb_internal_encoding("UTF-8");
并在文本编辑器中将文件编码设置为不带BOM的UTF8(例如,在记事本++:编码菜单中,然后转换为不带BOM的UTF8)

MySQL:表、列编码/排序 在编辑器/设计器(PhpMyAdmin)中将所有编码和排序规则设置为UTF8

它们之间:连接编码/排序规则 我不知道您使用的是什么驱动程序,对于mysqli(以及mysql,但请不要使用该驱动程序):

PDO对此有自己的配置,请参见php.net

响应编码 使用标题调用设置它:


header('Content-Type:text/html;charset=utf-8')

我正在使用wamp的默认设置。在table structure Collation=latin1_swedish_cit中,这个问题每天被问几次。请做一些初步的研究。但具体来说,此人正在处理其他人的数据。一个简单的utf8_encode($string)答案就足以确保它正确地插入到他的mysql中。相关的线程是确保UTF-8一致性的一个很好的指南,但实际上,web的结构方式是,我们不断地在计算机之间交换和操作数据,所以实际上他要求转换。在哪里设置它们?你是说桌子的结构吗?我使用的是wamp的默认设置。表结构中的排序规则=拉丁语1_瑞典语ci。此外,请仅将表格中的一个字段设置为utf8或整张表格?@DarkWish任何文本字段都需要设置为支持您期望的字符编码。如果您希望每个文本字段中都有utf8,那么您需要告诉每个文本字段使用正确的排序规则。Peter,请改写您的答案,它的质量非常差。我现在使用utf8\u unicode\u ci,但没有成功。将所有PHP:internal encoding、table、column encoding/collation设置为utf8\u unicode\u ciI现在使用utf8\u unicode\u ci,但没有成功。将所有PHP:internal encoding、table、column encoding/collation设置为utf8\u unicode\u Ci您是否检查了正在抓取的网站的编码?
"SET CHARACTER SET 'utf8'"
'SET NAMES utf8'