>  기사  >  백엔드 개발  >  请教php+mysql中文字符乱码问题,麻烦大家给提提建议

请教php+mysql中文字符乱码问题,麻烦大家给提提建议

WBOY
WBOY원래의
2016-06-23 14:20:27888검색

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


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


回复讨论(解决方案)

mysql中字段和数据库表的编码设置的是什么?

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

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

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

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

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

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

还是不确定我到底该怎么设置。

服务器租用的虚拟主机,LINUX的。网站客户是国内的。我理解的是又两种选择,意识统一成UTF8的,再就是统一成GBK的,是这样吧?

如果想用UTF8,我具体该怎么设置?页面设计我用的DREAMWEAVERCS5,默认正好是utf-8,创建MYSQL表是用了set names utf8,还需要做什么?

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.