在线工具 在线编程 在线白板 在线工具 在线编程 在线白板

php mysql 不能正确保存汉字。咋回事?

$result = mysql_query("SELECT * FROM yonghu WHERE dengluming='". $dlm."'");
echo $result;
if($row=mysql_fetch_array($result))

$dlm 中一用汉字就 发生错误:
Warning: mysql_fetch_array() expects parameter 1 to be resource
如何具体设置编码统一?

mysql 环境 变量的值 去哪里改
最新回答
拾柒

2025-03-28 01:03:11

你的数据库和PHP文件编码格式要统一,不然你的中文会乱码!上面你的“Warning: mysql_fetch_array() expects parameter 1 to be resource”,当你的编码不一样时,会返回一个无效的结果!结果就是这个提示了!
最好是php文件的编码格式 mysql存取的编码格式 还有html标签中
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
这三个地方指定一致,你把PHP文件以UTF-8的编码形式保存啊,数据库以UTF-8为编码,就是说你建数据库和表的时候都用UTF-8做编码,html标签这个CHARSET是设置显示用的。
梦已隔江南

2025-03-28 00:55:45

在连接数据库时加上 mysql_query("set names '编码'") 里面的编码自己写那你的具体编码GBK/UTF8
修改mysql配置文件my.ini或my.cnf,mysql最好用utf8编码

[mysql]
default-character-set=utf8
[mysqld]
default-character-set=utf8
default-storage-engine=MyISAM
在[mysqld]下加入:
default-collation=utf8_bin
init_connect='SET NAMES utf8'
枕边的泪

2025-03-28 01:51:43

没有看你完整的代码。但看你的警告提示。。
不是跟代码有关的吧?
Warning: mysql_fetch_array() expects parameter 1 to be resource
希望那个参数是资源类型,那就是说你传进去的$result不是一个资源结果集。
你那sql语句在数据库能正常执行吗?