PHP中运行Mysql语句中文出错问题
程序员文章站
2022-06-07 14:13:23
...
在PHP中运行一段Mysql语句,如下:
$sql = "SELECT * FROM `users` WHERE user = 'liang'";
$return = mysqli_num_rows($sql);
当user字段内容为英文时,可完美运行。当user字段为中文时,则无法正常运行。
求教各位大大,在此多谢了!
回复内容:
在PHP中运行一段Mysql语句,如下:
$sql = "SELECT * FROM `users` WHERE user = 'liang'";
$return = mysqli_num_rows($sql);
当user字段内容为英文时,可完美运行。当user字段为中文时,则无法正常运行。
求教各位大大,在此多谢了!
- 先将文件改为utf-8编码;
-
在连接语句后立即执行下面的语句:
mysqli_query('set names utf8');
首先确定是编码的问题, 当编码情况有很多种,
character set clientDocumentation utf8mb4
character set connectionDocumentation utf8mb4
character set databaseDocumentation utf8mb4
character set filesystemDocumentation binary
character set resultsDocumentation utf8mb4
character set serverDocumentation utf8mb4
character set systemDocumentation
编码不能一概的用 set names XXX 来解决,
要清楚 PHP 本身的编码, 发送给数据库的编码, 数据库存储等编码等,
找到编码不同的部分, 转换编码解决,.
推荐阅读
-
《php和mysql web开发(原书第三版)》中创建CMS系统例子关于mysql的出错问题?
-
php-mysql 问题笔记一——在命令行中可以执行的sql语句,无法从php页面页面执行!,php-mysqlsql_PHP教程
-
PHP中运行Mysql语句中文出错问题
-
《php和mysql web开发(原书第三版)》中创建CMS系统例子关于mysql的出错问题?
-
PHP中运行Mysql语句中文出错问题
-
mysql - php 用普通sql语句没出错,用了存储过程却出问题了?
-
一个很奇怪的问题:同样的一条sql语句,在mysql中能查到记录,而在php中却查不到
-
php-mysql 问题笔记一在命令行中可以执行的sql语句,无法从php页面页面执行!,php-mysqlsql
-
一个很奇怪的有关问题:同样的一条sql语句,在mysql中能查到记录,而在php中却查不到
-
mysql - php 用普通sql语句没出错,用了存储过程却出问题了?