这篇文章给大家介绍如何解决php mysql无法查询中文名字的问题,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。
php mysql无法查询中文名字的解决办法:1、保证MySQL和PHP的编码一致;2、在php页面头部加上“header("Content-type: text/html; charset=utf-8");”。
本文操作环境:Windows7系统、PHP7.1、Dell G3电脑。
php mysql 无法查询中文名字怎么办?
1.保证MySQL和PHP的编码一致
MySQL
修改整个数据库的编码格式
注意:如果数据不重要的话,可以直接使用更改数据库的编码格式,再重新建表即可。(此例中的数据库是test)
alter database test character set utf8
修改整张表的编码格式
注意:如果数据是重要数据的话,执行下列代码把整张表编码格式转换成utf8即可(此例中的数据表是students)
alter table students convert to character set utf8
修改students 表中sname 字段的编码格式
注意:第一个sanme是要给表中的sname字段修改编码格式。
第二个sname varchar(64)是要修改的字段名和字段类型(一般和原表中一样,不会做修改)
not null是修改sname不能为空的。(可以选择不加)
alter table students change sname sname varchar(64) character set utf8 not null;
也可以使用phpMyAdmin进入数据表
或进入数据库
PHP
在php页面头部加上:
header("Content-type: text/html; charset=utf-8"); //注意:这一句前不能向页面输出任何内容
另外在html里设置的是
2.获取由搜索框传递来的信息后,加上单引号
搜索框:
输入名字:
搜索
xxx.php: $tofind = $_POST["userName"]; $sql = "SELECT * FROM user WHERE name='$tofind';"; $result = $conn->query($sql);
即可实现查询汉字字符串
【至少我的成了。。】
关于如何解决php mysql无法查询中文名字的问题就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。