查阅以下几种编码
GB2312
双字节,定长
包括一二级汉字和9区符号
高位低位一样,都是从0xA1~0xFE
汉字编码范围是0xB0A1~0xF7FE
GBK
双字节,定长
兼容GB2312
编码范围:0x8140~0xFEFE
所有字符都可以映射到Unicode2.0
GB18030-2000(GBK2K)
收藏少数民族字型
不定长,包含二字节部分和四字节部分
二字节部分兼容GBK
四字节部分是扩充字符,第一第三字节范围:0x81~0xFE,第二第四字节范围:0x30~0x39
Unicode
包括所有字符字型
各地区语言都可与之建立映射
异种语言的转换是通过Unicode来完成的
汉字从4E00开始
其中gb2312编码所表示的字符最少,这样其实会引起很多问题,其中有些可能你看不懂的乱码问题也是因为这原因而起的。
这里举个例子:
"和珅"这两个字中的"珅"字简体字和繁体字是一样的,但在gb2312编码里是没有的。这样在使用gb2312编码的页面里就会出问题了,可能你在页面中输入是正确的但传输到了服务器端就会乱码,而且他可能会影响下面的字也出现乱码(字节码组合问题)。
测试一下语句
<?php
echo iconv('UTF-8', 'gb2312//IGNORE', iconv('gb2312', 'UTF-8', '珅字出现乱码')).'<br />';
echo mb_convert_encoding(mb_convert_encoding('珅字出现乱码', 'UTF-8', 'gb2312'), 'gb2312', 'UTF-8').'<br/>';
echo mb_convert_encoding(mb_convert_encoding('珅字出现乱码', 'UTF-8', 'gbk'), 'gbk', 'UTF-8').'<br />';
echo iconv('UTF-8', 'gbk', iconv('gbk', 'UTF-8', '珅字出现乱码')).'<br />';
?>
结果:
?字出现乱码
珅字出现乱码
珅字出现乱码
第一行没有输出
第二行出现乱码
第三行由于使用gbk编码显示正常
第四行也由于使用gbk编码显示正常
而gbk兼容GB2312而且可以在gb2312编码的页面中正常显示。在使用gb2312编码的页面使用gbk编码,可以避免不必要的麻烦。如果一定要用gb2312编码可以在前台显示页面使用gb2312编码,而后台数据库和服务器端使用gbk编码。
另:网上所说的iconv在utf-8转gb2312会出现乱码的问题,有的说是bug。其实这不是bug,也是这个问题。utf-8表示的字在gb2312里没有,当然要乱码了。因此当你发现gb2312出现乱码应该首先想到是这问题。
分享到:
相关推荐
对应的文章见 《在ASP.NET AJAX Control Toolkit 1.0.10618中使用GB2312的编码时出现乱码的两种解决方案》 http://blog.csdn.net/fancyf/archive/2007/08/21/1753404.aspx<br>这个修改基于官方的1.0.10618,只...
使用方法见本人博客《IE中js往后台传输中文乱码》
字符串乱码解决 gb2312 培训机构资料
该工具用于字符编码UTF8转GB2312,可批量转换。只需将该工具放置与需要转换文件的目录下,双击运行即可。 注意:需安装Python,Python 2和3 需安装通用编码检测器,文件内有安装方法; 该工具对于入门学习Python 也...
GBK GB2312 Unicode 编码 乱码 GB18030编码研究以及GBK,GB2312,GB18030与Unicode的映射,乱码解决 计算机,毫无疑问是一部机器,在最初我们接触计算机时或者接收计算机教育时,我们就知道:计算机能识别的只有010101...
选择文件夹,将指定文件里面的所有特定后缀的UTF-8编码文件转成GB2312文件,使用VS2013 ,MFC 开发.
可以解决中文乱码问题,共享给大家,解决UTF-8 转换 gb2312,直接放到Bin目录中并引用
可以将gb2312 和utf-8之间相互转换
GB2312 转UTF-8的函数.zip
记事本和一些编辑器默认编码方式是ANSI,在这种方式下输入汉字,其实就是GB系列的编码方式。不幸的是,广收欢迎的代码查看工具Source insight 虽然支持汉字,但是它不支持UTF-8。笔者感到疑惑的是,当初开发source ...
jsp上传组件smartUpload_gb2312_jar包,解决gb2312编码的乱码问题
审核完的信息要生成XML类型的文件,并且XML要采用GB2312编码,因为采集的新闻网站,有很多网站采用的是UTF8编码,这样在转化的过程中又出现乱码
可以解决CAD种需要系统安装的FangSong_GB2312.ttf字体。本文件是经过自己亲测得,希望解决CAD因为字体而纯在乱码的问题。这里不做安装解释,
FCKeditor GB2312编码 我自己用是好使 如果出现乱码现象 请在调用的页面最上面加上 <%@ codepage=936%>
mybase7.0是非常好用的笔记制作软件,可以生成chm....主要原理是在生成的中间html头部添加《meta charset="gb2312"》,这样制作出的chm不会再有乱码存在。其次修改了chm中的链接的打开方式,使之在外部浏览器中打开。
ASP程序在同一个站点中,如果有UTF-8编码的程序,又有GB2312编码的程序时,在浏览UTF-8编码的页面后,再浏览当前网站GB2312的页面,GB2312编码的页面就会出现乱码
UTF-8GB2312互转,解决中文传参时的乱码问题
该工具用于字符编码GB2312转UTF8,可批量转换。只需将该工具放置与需要转换文件的目录下,双击运行即可。 注意:需安装Python,Python 2和3 需安装通用编码检测器,文件内有安装方法; 该工具对于入门学习Python 也...
gb2312-utf8强大的万能字符转换工具,去除乱码的必备法宝