我的数据库表是UTF-8,但是当通过PHP查询它时,字符就不同了。
当查看数据库中的数据时,如下所示:
汕头å›åŽå¤§é…’店但在PHP中,它的结果是
汕头åÂÂââ我注意到,当我在插入mysql之前用base64_encode对数据进行编码,然后当它出现时对其进行解码,然后它在PHP中正确显示,并显示它在数据库中所做的事情:
汕头å›åŽå¤§é…’店但是有一些数据我不能先对它进行编码,所以我不能总是这样做,所以我想知道为什么mysql_query会让它以不同的方式出现。我试过很多东西
和
mysql_query("SET NAMES UTF8"); 但是它与输出没有什么不同,我可以在同一个页面中看到正确的( base64_decode )和不正确的字符。
谢谢!
发布于 2014-03-12 11:21:19
好的,我相信Cake1.2正在尝试对数据进行某种类型的转换,或者告诉mysql到某个地方。
在Cake中从database.php中删除编码=>‘UTF8 8’之后,它工作得很好,当MYSQL表是UTF8时,不需要在UTF8代码或MYSQL中的任何地方设置UTF8!
另外一个问题是,我认为旧数据被错误地存储在数据库中,也许表以前不是UTF8,所以当PHP从CSV文件中读取数据时,它将其存储为乱码(不正确)数据。
https://stackoverflow.com/questions/22243807
复制相似问题