日期:2014-05-17  浏览次数:20488 次

请教php+mysql中文字符乱码问题,麻烦大家给提提建议
网站用php+mysql做的,租用的服务器是linux的,我的页面用的gb2312的字符编码,创建数据表时用了"set names gb2312",客户自己提交的中文有的字符显示不出来,有的乱码。


想知道我应该怎么设置?(我网站的客户都是国内的,就想能正常添加和显示中文)

------解决方案--------------------
注意 gb2312 和 gbk 的区别
gb2312 是 gbk 的子集,非常用字都不在其中
目前的浏览器和编辑器都不区分两者,只认前面的 GB
但 MySQL 是严格区分的,不在 gb2312 中的 gbk 字符都将不能正确处理

所以可能含有中文的字段都应设置连接校对为 gbk_chinese_ci 或 utf8_general_ci
并在连接数据库后,执行 set names gbk 指令

注意:字符集设置的改变,只对其后的数据起作用,不会影响到表中的原有数据。即:原来乱码的,依然是乱码