中文乱码问题产生的由来

中文乱码问题产生的由来

 在计算机中,只有二进制的数据,不管数据是在内存中,还是在外部设备上。
对于我们所看到的字符,也是以二进制数据的形式存在的。不同的字符对应的
二进制数的规则,就是字符的编码。字符编码的集合称为字符集。

常用的字符集
1 ASCII
2 ISO8859-1
3 GB2312和GBK

  每个国家(或者区域)都规定了计算机信息交换用的字符编码集,这就造成了
交流上的困难。想象一下,你发送一封中文邮件给一位远在西班牙的朋友,当邮件
通过网络发送出去的时候,你所书写的中文字符会按照本地的字符集GBK转换成二进制
编码数据,然后发送出去。当你的朋友接收以邮件(二进制数据)后,查看信件时,会
按照他所用的系统的字符集,将二进制数据解码为字符,然而由于两种字符集之间编码
规则的不同,导致转换出现乱码。这是因为,在不同的字符集之间,同样的数字可能对
应了不同的符号,也可能在另一种字符集中,该数字没也对应的符号。
  为解决上述问题,统一全世界的字符编码,由Unicode协会制定并发布了Unicode编码。
4 Unicode
5 UTF-8

对乱码产生过程的分析

  字符数据在各种不同的字符集之间转换时,就有可能会出现乱码。
  xml处理器在没有被预先通知的情况下会默认文档数据为UTF-8格式。
这样在你书写xml文档时,就存在了UTF-8字符集和本地字符进行转换的过程。
当向xml文档中写入数据的时候,需要将本地字符集编码的数据转换为UTF-8
,而在输出字符数据的时候,则需要将UTF-8编码转换为本地字符集编码。
从上述的过程来看,写入和输出的过程是可逆的。理应不会出现中文乱码问题
然而,实际应用的情形,比上述的过程要复杂的多。在WEB应用中,通过都包括
浏览器、WEB服务器、WEB应用程序和数据库等部分,每一部分的都有可能使用不
同的字符集,从而导致数据在各种字符之间转换时,出现了乱码问题。

146931.html

KE 2007-09-20 21:46 发表评论
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值