首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

java 汉字 %ms对不齐_Java中文问题及最优解决方法

计算机最初的操作系统支持的编码是单字节的字符编码,于是,在计算机中一切处理程序最初都是以单字节编码的英文为准进行处理。随着计算机的发展,为了适应世界其它民族的语言(当然包括我们的汉字),人们提出了UNICODE编码,它采用双字节编码,兼容英文字符和其它民族的双字节字符编码,所以,目前,大多数国际性的软件内部均采用UNICODE编码,在软件运行时,它获得本地支持系统(多数时间是操作系统)默认支持的编码格式,然后再将软件内部的UNICODE转化为本地系统默认支持的格式显示出来。java的JDK和jvm即是如此,我这里说的JDK是指国际版的JDK,我们大多数程序员使用的是国际化的JDK版本,以下所有的JDK均指国际化的JDK版本。我们的汉字是双字节编码语言,为了能让计算机处理中文,我们自己制定的gb2312、GBK、GBK2K等标准以适应计算机处理的需求。所以,大部分的操作系统为了适应我们处理中文的需求,均定制有中文操作系统,它们采用的是GBK,GB2312编码格式以正确显示我们的汉字。如:中文Win2K默认采用的是GBK编码显示,在中文WIN2k中保存文件时默认采用的保存文件的编码格式也是GBK的,即,所有在中文WIN2K中保存的文件它的内部编码默认均采用GBK编码,注意:GBK是在GB2312基础上扩充来的。

04

MySQL中涉及的几个字符集

character-set-server/default-character-set:服务器字符集,默认情况下所采用的。 character-set-database:数据库字符集。 character-set-table:数据库表字符集。 优先级依次增加。所以一般情况下只需要设置character-set-server,而在创建数据库和表时不特别指定字符集,这样统一采用character-set-server字符集。 character-set-client:客户端的字符集。客户端默认字符集。当客户端向服务器发送请求时,请求以该字符集进行编码。 character-set-results:结果字符集。服务器向客户端返回结果或者信息时,结果以该字符集进行编码。 在客户端,如果没有定义character-set-results,则采用character-set-client字符集作为默认的字符集。所以只需要设置character-set-client字符集。

02

python字符转码的理解

encode:字符编码 decode:字符解码 有些文档可能采用的是某种编码方式(如utf-8)来存储文本,但如果我们展现的工具是另外一种编码方式(如gb2312),若我们不做些转码的工作,我相信你在此工具中显示的将会是乱码. 因为,我们的文本采用utf-8方式来存储的,那么它存储在硬盘或者内存的字节是以utf-8规定来存储的,而gb2312是另外一种存储规定,所以使用gb2312的工具无法正确读取,此时需要我们将utf-8存储转变为gb2312存储,故我们需要先用decode('utf-8')来解码,再将encode('gb2312')来编码,这样,我们的工具便可以正确显示内容了. 如代码: #!/usr/bin/env python #coding=utf8 print "中国".decode('utf-8').encode('gb2312') 首先,“中国”这个字符串是以utf-8存储的,我们要在crt上打印出来,此时的crt是以gb2312编码的,那么我们需要将"中国"这个存储编码方式更改为crt软件编码一样的,方可以在crt正确显示。 类似的,还有我们从数据库里读出的数据,可能是一种编码,我们需要展示的平台是另一种编码,这时候我们就需要进行这方面的转换,以确保能正确打印文本.

01
领券