Heim > Artikel > Backend-Entwicklung > Was soll ich tun, wenn PHP MySQL chinesische Namen nicht abfragen kann?
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视频教程》
Das obige ist der detaillierte Inhalt vonWas soll ich tun, wenn PHP MySQL chinesische Namen nicht abfragen kann?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!