首页 >后端开发 >PHP问题 >php mysql 无法查询中文名字怎么办

php mysql 无法查询中文名字怎么办

藏色散人
藏色散人原创
2021-09-20 09:21:011658浏览

php mysql无法查询中文名字的解决办法:1、保证MySQL和PHP的编码一致;2、在php页面头部加上“header("Content-type: text/html; charset=utf-8");”。

php mysql 无法查询中文名字怎么办

本文操作环境: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进入数据表

7e3dd456bbbee511dfd973b79b96273d.png

或进入数据库

17d02cddc8673f7b6ea24e14923fd957.png

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视频教程

以上是php mysql 无法查询中文名字怎么办的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn