my.ini 和 mysql_connect 编码

发布于 2025-01-03 09:39:36 字数 387 浏览 1 评论 0原文

PHP 的 mysql_connect() 函数在建立与 MySQL 服务器实例的连接时是否使用 MySQL my.ini 配置文件? 看来不是。

我有一个带有 UTF-8 编码的表和连接到数据库并以 UTF-8 编码插入数据的 PHP 脚本。

默认情况下,mysql_client_encoding() 返回latin1。 当我在建立连接后使用 mysql_query("SET NAMES utf8")mysql_set_charset("utf8") 时,一切正常。

我想知道是否有其他方法可以强制使用正确的编码从 PHP 与 MySQL 交换数据?

Does PHP’s mysql_connect() function use the MySQL my.ini configuration file when it establishes the connection to the MySQL server instance?
It seems not.

I have the table with the UTF-8 encoding and the PHP script which connects to the database and inserts data in UTF-8 encoding.

By default the mysql_client_encoding() returns latin1.
When I use mysql_query("SET NAMES utf8") or mysql_set_charset("utf8") after establishing the connecion, all works fine.

I would like to know is there other way to force use correct encoding for exchange data with MySQL from PHP?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

尾戒 2025-01-10 09:39:37

我不相信有任何其他方法可以从客户端默认 MySQL 客户端编码设置(使用 php ini 设置或类似设置)。

从服务器端,您可能会发现 PHP 客户端继承了 MySQL 变量 character_set_client 但我无法确认这一点。

I don't believe that there's any other way of defaulting the MySQL client encoding setting from the client side (with a php ini setting or similar).

From the server side you may find that the PHP client inherits the MySQL variable character_set_client but I'm unable to confirm that.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文