[100分赠送]中文乱码问题

时间:2021-06-06 06:48:11
页面设置为gb2312,mysql数据库设置为gb2312,有少数几个不常用字表单提交保存到数据库后乱码显示为“?size=”,是字库的问题吧,能不能在不改动数据库的情况下,用程序控制呢,给个例子吧。

25 个解决方案

#1


utf-8 试试?

#2


http://topic.csdn.net/t/20051213/11/4456072.html

#3


GBK应该可以。

#4


有很多字符gb2312不支持的,建议用gbk

#5


mark .接分

#6


现在流行 UTF-8

#7


UTF-8和GBK应该都能解决问题。

#8


在本定环境,设置都是一样的,我输入好多奇型怪状的字和繁体字写入数据库都没有问题,郁闷了

#9


gbk应该是可以的

#10


utf-8

#11


用了 set names gbk 没有用

#12


UTF-8或GBK

#13


qishiwobuguai(会菜才会飞)  
   现在流行 UTF-8
  
--------------
是因為ajax嗎?
 

#14


UTF-16,UTF-32

#15


UTF-100000000000000

#16


这个和简体和繁体没有关系,主要是出现了半个汉字,例如
urlencode("花") => %BB%A8
如果用户修改成 => %BB 就是把后边的半个汉字去掉,那么剩下的就要和你的"结合,导致INPUT 没有结束,一直找到下一个" 才能结束,这样就是你在数据库看到的 数据。

解决办法,在录库以前或判断或直接加一个chr(0)看看

#17


IF you have splited the string, notice a Chinese word is 2 bytes long.

#18


使用gbk,utf-8都可以。关键是server和客户段连接要匹配就行

#19


GBK一般没这个问题

#20


set names gbk

#21


把数据库及数据表的字符集改成gbk吧.
改后程序里把GB2312改为GBK
因为GBK兼容GB2312, 数据不会有损失.可以放心。

#22


mysql_query("set names gb2312');

#23


GB2312(1980年)一共收录了7445个字符,包括6763个汉字和682个其它符号;   
GBK1.0是1995年的汉字扩展规范,收录了21886个符号,它分为汉字区和图形符号区。汉字区包括21003个字符
2000年的GB18030是取代GBK1.0的正式国家标准。该标准收录了27484个汉字,同时还收录了藏文、蒙文、*文等主要的少数民族文字。现在的PC平台必须支持GB18030,对嵌入式产品暂不作要求。所以手机、MP3一般只支持GB2312。

#24


http://blog.chinaunix.net/u/19869/showart.php?id=121729

#25


我有一次也是为这些乱代码烦死,不过我现在很清楚,很明白.
从你录数据到读数据,再到页面的环境,还有数据库管理工具的使用中,你都要用同样的编码,这样可以有效果的解决你的问题,你可以试下,我的方法很多效,最好整个过程都用UTF8

#1


utf-8 试试?

#2


http://topic.csdn.net/t/20051213/11/4456072.html

#3


GBK应该可以。

#4


有很多字符gb2312不支持的,建议用gbk

#5


mark .接分

#6


现在流行 UTF-8

#7


UTF-8和GBK应该都能解决问题。

#8


在本定环境,设置都是一样的,我输入好多奇型怪状的字和繁体字写入数据库都没有问题,郁闷了

#9


gbk应该是可以的

#10


utf-8

#11


用了 set names gbk 没有用

#12


UTF-8或GBK

#13


qishiwobuguai(会菜才会飞)  
   现在流行 UTF-8
  
--------------
是因為ajax嗎?
 

#14


UTF-16,UTF-32

#15


UTF-100000000000000

#16


这个和简体和繁体没有关系,主要是出现了半个汉字,例如
urlencode("花") => %BB%A8
如果用户修改成 => %BB 就是把后边的半个汉字去掉,那么剩下的就要和你的"结合,导致INPUT 没有结束,一直找到下一个" 才能结束,这样就是你在数据库看到的 数据。

解决办法,在录库以前或判断或直接加一个chr(0)看看

#17


IF you have splited the string, notice a Chinese word is 2 bytes long.

#18


使用gbk,utf-8都可以。关键是server和客户段连接要匹配就行

#19


GBK一般没这个问题

#20


set names gbk

#21


把数据库及数据表的字符集改成gbk吧.
改后程序里把GB2312改为GBK
因为GBK兼容GB2312, 数据不会有损失.可以放心。

#22


mysql_query("set names gb2312');

#23


GB2312(1980年)一共收录了7445个字符,包括6763个汉字和682个其它符号;   
GBK1.0是1995年的汉字扩展规范,收录了21886个符号,它分为汉字区和图形符号区。汉字区包括21003个字符
2000年的GB18030是取代GBK1.0的正式国家标准。该标准收录了27484个汉字,同时还收录了藏文、蒙文、*文等主要的少数民族文字。现在的PC平台必须支持GB18030,对嵌入式产品暂不作要求。所以手机、MP3一般只支持GB2312。

#24


http://blog.chinaunix.net/u/19869/showart.php?id=121729

#25


我有一次也是为这些乱代码烦死,不过我现在很清楚,很明白.
从你录数据到读数据,再到页面的环境,还有数据库管理工具的使用中,你都要用同样的编码,这样可以有效果的解决你的问题,你可以试下,我的方法很多效,最好整个过程都用UTF8