Rumah > Artikel > pembangunan bahagian belakang > 请教php+mysql中文字符乱码问题,麻烦大家给提提建议
网站用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,还需要做什么?