资讯专栏INFORMATION COLUMN

由文件导出乱码引发对字符编码的思考

longmon / 3276人阅读

摘要:参考的资料前辈们已经对字符编码讲的很好了,通俗易懂。字符编码的诞生是人类对科学技术妥协的结果。字符编码为什么有很多方式。这是从计算机层面总体上对字符编码的认识。中的一些字符集字符编码知识

以前在工作中遇到导出中文乱码时,就google一下,看见把utf-8编码换成GBK之类的编码,导出在Excel中打开就不会乱码了。只是解决了当前问题。对字符编码没有很好的认识。这次又遇到了,遂记录之。

参考的资料:
https://my.oschina.net/leejun...
http://www.ruanyifeng.com/blo...

前辈们已经对字符编码讲的很好了,通俗易懂。我就简单的整理下用自己的话复述一遍。
1、我们为什么需要字符集和字符编码?
计算机只认识0和1,不认识其他任何字符。而计算机是为人服务的,是人就有沟通语言,有语言就有语言符号,要实现普通人与计算机沟通,字符编码就必然出现了,同理,各种语言就会有不同编码方式的字符编码。字符编码的诞生是人类对科学技术妥协的结果。
2、是谁主导字符编码?
老美,计算机是老美发明的,尽管现在全世界开放共赢,作为先驱者在一定程度上具有话语权(不服?有本事你也搞个革命性的发明来)。后来者也只能依据他来制定,这是历史包袱,任何时代都无法改变。他根据他们的语言特色,美国国家标准学会(American National Standard Institute , ANSI )制定了 ASCII(American Standard Code for Information Interchange,美国信息交换标准代码)编码。我建议:不仅记住缩写,要记住全称。
3、字符编码为什么有很多方式。
全世界都知道计算机好,都要用了。我们知道,语言成为不同国家、民族最鲜明的特征之一。怎么办,每个国家自己都制定一套类似ASCII码的编码,就是我们常说的 GBK、GB2312、BIG5、Unicode等等。原理一样,只是对应规则不同而已。
4、Unicode 万国码(是一种字符集)
顾名思义:就算你有一万个国家,有一万种语言字符。我也能装得下。大家只要生活在地球上,只要使用计算机,突破语言限制,使用此种字符集。
5、在当前实际运用过程中,最普遍用到的是UTF-8方式的编码。

以上做个简单的总结。这是从计算机层面总体上对字符编码的认识。
有时间我会总结一篇关于mysql中一些字符相关知识。

2、mysql中的一些字符集、字符编码知识

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/31732.html

相关文章

  • Java NIO下使用ByteBuffer读取文本时解决UTF-8概率性中文乱码问题

    摘要:场景读取一个大文本文件,并输出到控制台。示例代码如下至少为,因为最大为字节,阻止读取跨界数据恢复 场景:读取一个大文本文件,并输出到控制台。 在这里我们选择使用nio进行读取文本文件,在输出的过程中,有些文件中英文都显示正常,有些则偶尔出现中文乱码,经思考发现,在 ByteBuffer.allocate 时分配空间,如果中英混合的文件中就会出现中文字符只读取了一部分的问题,如果文本为等...

    SolomonXie 评论0 收藏0
  • 实战PHP导出Excel-CSV文件

    摘要:中国大陆几乎所有的中文系统和国际化的软件都支持。与相应的国家标准中的其它汉字,以上合计个汉字。,全称国家标准信息技术中文编码字符集,是中华人民共和国现时最新的内码字集,是信息技术信息交换用汉字编码字符集基本集的扩充的修订版。 实战PHP导出Excel-CSV文件 导出后的效果 先给各位看一下导出的效果,而后再进行代码分析 showImg(https://segmentfault.co...

    Kyxy 评论0 收藏0
  • 实战PHP导出Excel-CSV文件

    摘要:中国大陆几乎所有的中文系统和国际化的软件都支持。与相应的国家标准中的其它汉字,以上合计个汉字。,全称国家标准信息技术中文编码字符集,是中华人民共和国现时最新的内码字集,是信息技术信息交换用汉字编码字符集基本集的扩充的修订版。 实战PHP导出Excel-CSV文件 导出后的效果 先给各位看一下导出的效果,而后再进行代码分析 showImg(https://segmentfault.co...

    molyzzx 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<