客户端发送的信息从服务端输出,都是乱码,困扰啊,解决一下。
1、发现全都是gbk或者gb2312的编码,心想那就全部换成utf-8就可以了。着手去干,把所有文件都换成utf-8编码。发现所有页面都显示不出来了,全都是乱码,只能作罢(原因不明)。
2、第二条路就是看服务端吧,找到源代码,之后各种调试,发现在js中某处加入的汉字也是乱码,这就是页面编码的原因了,所以把页面编码改成utf-8,发现好使了,但是输出的对话还是乱码,觉得可能是js调用时出现乱码。但是在onload函数中添加alert(汉字);发现不是乱码,也就是说js调用没问题。最后问题只能出在:数据库中不是乱码,但是取出来之后就是乱码了 这个问题上,动手验证一下,找到相关代码注释掉,就真好使了。
3、自己又重新试了一下,这回都不用改任何编码,只需要注释那个service/getdata.php中的escape()函数就好使了,而且俄语输出也好使。
4、没想到gb2312还包含俄语,上网搜了一下是这么说的:
GB2312收录简化汉字及一般符号、序号、数字、拉丁字母、日文假名、希腊字母、俄文字母、汉语拼音符号、汉语注音字母,共 7445 个图形字符。其中包括6763个汉字,其中一级汉字3755个,二级汉字3008个;包括拉丁字母、希腊字母、日文平假名及片假名字母、俄语西里尔字母在内的682个全角字符。
太神奇了。