Php 如何正确设置文件、数据库、连接等的编码。?
我正在将mysql数据库从一个站点迁移到另一个站点 它的编码是utf8 其连接编码为:utf8\U unicode\U ci 该站点的php文件中使用的编码:不带BOM的utf-8 该站点中每个页面的标题中的编码:utf-8 在那个网站上一切正常 然后,我使用phpmyadmin导出了数据库。 它生成了一个.sql文件,用utf-8编码,当我打开它时,一切都很好 然后我将该文件复制到新站点,该站点对所有内容使用相同的编码,并将其导入 当我通过一个网页显示来自旧站点的数据时,在新站点中,它会显示断字符。如:™ => �. 如果我将浏览器的编码从utf-8改为iso-8859-1,我会看到正确的符号 新站点中的其他一切都很好,在将内容保存到数据库并将其拉回来后,我没有编码问题。唯一奇怪的是,当我浏览存储的数据时,phpmyadmin会显示断字符。但我在网站上显示内容时没有这个问题 我使用两个不同的程序进行导入:phpmyadmin和webmin 所以我不知道这里出了什么问题,有什么想法吗Php 如何正确设置文件、数据库、连接等的编码。?,php,mysql,encoding,character-encoding,phpmyadmin,Php,Mysql,Encoding,Character Encoding,Phpmyadmin,我正在将mysql数据库从一个站点迁移到另一个站点 它的编码是utf8 其连接编码为:utf8\U unicode\U ci 该站点的php文件中使用的编码:不带BOM的utf-8 该站点中每个页面的标题中的编码:utf-8 在那个网站上一切正常 然后,我使用phpmyadmin导出了数据库。 它生成了一个.sql文件,用utf-8编码,当我打开它时,一切都很好 然后我将该文件复制到新站点,该站点对所有内容使用相同的编码,并将其导入 当我通过一个网页显示来自旧站点的数据时,在新站点中,它会显示断
我应该如何配置编码以避免这种情况发生?可能在第一个站点中,您没有设置连接编码(请参阅php中mysql\u client\u encoding()的输出)。 如果这就是问题所在,那么您以错误的格式存储了数据,并且使用相同的错误行为将数据正确地转换回来
p、 utf8\u unicode\u ci不是一种编码,而是一种排序规则(如何对字符串排序)有一个非常好的方法。我以前在一个旧站点上遇到过这种情况,它是在一个不同的排序规则中,所以一旦你试图将其更改为utf8,它会显示出所有奇怪的符号
有时候phpmyadmin中的后端会显示奇怪的代码,但网站显示的很好。哇,你真是个天才。旧站点中的连接是“latin1”。谢谢