gpt4 book ai didi

Mysql SET NAMES UTF8 - 如何去掉?

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

在一个非常繁忙的 PHP 脚本中,我们在开始时调用了“Set names utf8”,它设置了 mysql 应该解释的字符集,并将数据从服务器发送回客户端。

http://dev.mysql.com/doc/refman/5.0/en/charset-applications.html

我想摆脱它,所以我在我们的服务器 ini 文件中设置了 default-character-set=utf8。 (见上面的链接)

该设置似乎有效,因为相关的服务器参数是:'character_set_client', 'utf8''character_set_connection', 'utf8''character_set_database', 'latin1''字符集文件系统','二进制''character_set_results', 'utf8''character_set_server', 'latin1''character_set_system', 'utf8'但是在进行此更改并注释掉设置名称 utf8 调用之后,数据仍然开始出现乱码。

请指教....

最佳答案

设置PHP和MySQL连接的编码是PHP的工作;我认为 MySQL 设置不会对此产生影响。

我真的建议在应用程序中保留一些代码以将连接字符集设置为 UTF-8。应用程序需要确保编码是 UTF-8,因为它可能会告诉网络浏览器它的页面是 UTF-8,如果这些不匹配,你就会遇到问题。

既然决定字符集已经是应用程序责任的一部分,那么您不妨让应用程序来指定数据库连接字符集,而不是将其留作部署问题,并且在安装时又会出错新服务器上的应用程序。

但是我个人会使用 mysql_set_charset这样做而不是 SET NAMES

同样,如果应用程序中包含用于创建模式的代码,请确保该代码告诉 MySQL 将表制作为 UTF-8,而不是将其保留为数据库的默认设置并让您自己担心另一个部署问题.

关于Mysql SET NAMES UTF8 - 如何去掉?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2662800/

25 4 0