如何防止通过重新连接切换连接编码?我的所有设置都是 utf-8,但是由于我在 cli 的 php.ini 中启用了这个功能......我已经测试了任何东西......当我有一个很长的工作脚本时,然后在脚本的任何点连接已切换,我有错误的数据。在我再次禁用它之后,一切都很好。但为什么会这样呢?我应该在 my.cfg 中设置什么样的设置来防止这种连接编码的切换?
干杯尼克
如何防止通过重新连接切换连接编码?我的所有设置都是 utf-8,但是由于我在 cli 的 php.ini 中启用了这个功能......我已经测试了任何东西......当我有一个很长的工作脚本时,然后在脚本的任何点连接已切换,我有错误的数据。在我再次禁用它之后,一切都很好。但为什么会这样呢?我应该在 my.cfg 中设置什么样的设置来防止这种连接编码的切换?
干杯尼克
来自MySQL 文档:
如果您使用启用了自动重新连接的 mysql 客户端(不推荐),最好使用 charset 命令而不是 SET NAMES。例如:
mysql> charset utf8
Charset changed
charset 命令发出一个 SET NAMES 语句,并且还会更改 mysql 在连接断开后重新连接时使用的默认字符集。因此,发出这个:
mysqli_query('charset utf8');
或者您使用的任何字符集(如果不是 UTF8)。这应该可以解决问题。