字符编码的理解

字符编码、转码的东西困惑我很长时间,为何要有这个东西。而后看了下资料以及百科,http://baike.baidu.com/link?url=Tm2pqNPIc9CtJxmMarwLLqNgq2ZLMmWyZf62TZ9Djb2qxSzXrnOG_Ie6DYOwsYJbw15cesdnf-ywVRho99k2wKmysql

大概是编码是将字符X以某种编码方式A转成B存储或者传输,若是要显示B的内容,则须要告诉计算机怎样解码,若是以同一种方式A解码,则显示的内容是X,若是以另外的解码方式解码,则可能显示另外的内容,或者乱码。sql

将文本文件导入数据库时,常常会涉及到编码的问题,若是数据库是以utf8的方式编码和解码,则若是告诉导入的csv文件是某种编码,计算机会按照这种编码解码字符串,而后再将字符串以uft8的方式编码,存储到计算机上。若是未声明,则默认数据是以UTF8编码的,直接存储在计算机上,可是在现实时UTF8没法对存储的数据进行解码,因此出现乱码,可是若是仍然以原来的编码方式进行解码,仍然能够进行正常的显示。数据库

转码大概是将二进制的存储数据,以正确方式解码为字符串,而后将字符串以另外的编码方式编码吧。编码

这样大概能解释EXCEL能正确显示ANSI存储的CSV文件而没法显示UTF8存储的文件,可是经过ADO远程取的UTF8格式的mysql数据能正常显示,按道理应该有问题啊,中间还有什么过程么?url

若是个人表述或者结论有问题,但愿大神们指正啊,不要让小的继续犯错误。字符串

相关文章
相关标签/搜索