gpt4 book ai didi

php - 如何正确设置文件、数据库、连接等的编码?

转载 作者:行者123 更新时间:2023-11-29 05:42:55 25 4
gpt4 key购买 nike

我正在将一个 mysql 数据库从一个站点迁移到另一个站点。

它的编码:utf8

其连接编码:utf8_unicode_ci

该站点的php文件使用的编码:utf-8 without BOM

该站点每个页面的标题中的编码:utf-8

在该网站上一切正常。

然后我使用 phpmyadmin 导出了数据库。它生成了一个 .sql 文件,用 utf-8 编码,当我打开它时一切正常。

然后我将该文件复制到新站点,该站点对所有内容都使用相同的编码,然后将其导入。

当我通过网页在新站点中显示来自旧站点的数据时,它显示了损坏的字符。例如:™ => �.

如果我将浏览器的编码从 utf-8 改为 iso-8859-1,我会看到正确的符号。

新站点中的其他一切都工作正常,将内容保存到数据库并将其拉回后我没有编码问题。唯一奇怪的是,当我浏览存储的数据时,phpmyadmin 显示损坏的字符。但是我在网站上显示内容时没有这个问题。

我使用两个不同的程序进行导入:phpmyadmin 和 webmin。

所以我不知道这里出了什么问题,有什么想法吗?

我应该如何配置编码才不会发生这种情况?

最佳答案

也许在第一个站点中您没有设置连接编码(请参阅 php 中 mysql_client_encoding() 的输出)。如果那是您以错误的格式存储数据的问题,并且您还使用相同的错误行为将其正确转换回来。

附注utf8_unicode_ci 不是编码,是排序规则(如何排序字符串)

关于php - 如何正确设置文件、数据库、连接等的编码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5158105/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com