PHP+MySQL无法查询中文数据

时间:2024-03-16 11:48:43

最近在做数据库的课程设计,一开始环境配置问题出现得比较多,想着记下这些错误吧,就当是个笔记了。
今天在PHP连接MYSQL数据库的情况下,出现了这样的问题:

$query="select 姓名 from 员工基本信息表 where ID=1600010001";$result=mysqli_query($connect,$query);
数据库连接成功,但是在执行如上查询时并没有成功查询到结果。

其实用英文的表名和栏目名都是没有问题的,那么就是字符集的问题了。
那么怎么解决呢,先说一下我在这个过程中遇到的坑:
网上有这种说法的,在my.ini里面找到[mysqld],在后面加上
character-set-server = utf8
character_set_client = utf8
两句。在我这里却实测不可行,导致MYSQL关闭后不能再开启该服务。

我的最终解决方法:统一字符集。

①在新建数据库的时候记得选择字符集UTF-8
PHP+MySQL无法查询中文数据
②找到my.ini文件,查找文件里的  default-character-set=utf8 ,把前面的#号去掉,保存文件。
③重启MYSQL。打开服务,找到MYSQL57(不同的版本不一样),右键重启。
PHP+MySQL无法查询中文数据

注意:my.ini有的是在MYSQL的安装目录里,有的是在C:\ProgramData\MySQL目录里,可能会不一样。
后者是一个隐藏文件夹,复制后直接粘贴到地址栏里面搜索就能找到。

反思:其实是个很简单的问题,my.ini里面默认字符集UTF8被#注释掉了,把它改回来就可以了。