日期:2014-05-16  浏览次数:20385 次

汉字无法插入数据库
本帖最后由 kaixinmaitian 于 2014-01-19 10:47:58 编辑
mysql数据为UTF8

页面格式为:GB2312

联接数据库时已做了设置:mysql_query("set names GB2312")

读取数据库信息时能正常显示,但是增加记录时“汉字字段为空,数据字段记录正常”

如果用iconv("GB2312","UTF-8",$keywords)把汉字转为utf8格式再增加则数据库中是乱码,请高手指点。

------解决方案--------------------
1、确认保存中文的字段的连接校对是 utf8_general_ci 的,当然 gbk_general_ci 也是可以的

2、是 mysql_query("set names GBK")
而不是 mysql_query("set names GB2312")
因为 gb2312 字容量太小,gbk 才与 utf-8 对等

3、mysql_query("set names XXX") 的作用是通知 mysql :我要用 XXX 编码传递数据
所以你自己做编码转换是绝对错误的