gbk

编码

时光毁灭记忆、已成空白 提交于 2019-12-01 01:58:54
ascii A 00000010 8位 一个字节 uncode A 000000000 00000001 00000010 00000100 32位 中000000000 00000001 00000010 00000110 32位 utf-8 A 0010 0000 8位 一个字节 中 000000000 00000010 00000110 24位 三个字节 gbk A 00000110 8 位 一个字节 中 00000010 00000110 16位 两个字节 1.各个编码之间的二进制, 是不能相互认识的,会产生乱码 2.文件的储存,传输,不能是uncode,只能是(ascii gbk gb2312 utf- 8 utf-16) python3 的str编码就是uncode      bytes类型使用gbk和utf-8等 对于英文      str表现形式       str="feaf"      编码方式        uncode 01010101     bytes 表现形式       bytes=b"fafe"     编码方式 00101010 utf-8 gbk 对于中文     str表现形式       str="中文"      编码方式        uncode 01010101     bytes 表现形式       bytes=b"/fef"

VC2010下Qt5的中文乱码问题

半城伤御伤魂 提交于 2019-12-01 01:38:30
要搞清楚这个问题,先要弄明白编码。但是编码问题实在太复杂,这里肯定讲不开。 我先找一个例子,比如:"中文" 的 Unicode 码点/UTF8编码/GBK 分别是多少。 先去这个网站,输入 "中文" 查询对应的 Unicode 码点/UTF8编码: http://www.mytju.com/classcode/tools/encode_utf8.asp Unicode的码点分别是(十进制):中(20013),文(25991)。 对应的UTF8编码分别(16进制): 中(E4B8AD),文(E69687)。 然后再去下面这个网站,输入 "中文" 查询对应的 GBK 编码: http://www.mytju.com/classcode/tools/encode_gb2312.asp GBK编码16进制(GBK内码)分别是:中(D6D0),文(CEC4)。 现在已经知道了"中文"的UTF8和GBK编码的具体值。 我们再看看VC2010是怎么处理的。 1. 先看 无 BOM 的 UTF8 编码的代码 (utf8_no_bom.cpp) // utf8 no bom // 文件中包含不能在当前代码页(936)中表示的字符 #include <stdio.h> int main() { const char* str = "中文"; for(int i = 0; i < sizeof(str)

Java 使用流读文本数据时乱码 解决方法

只愿长相守 提交于 2019-11-30 22:48:22
一、问题描述   当我使用FileReader读取文本文件里的汉字时,读出来的是乱码。但为什么字符是正常的呢??? 二、原因探究   其根本原因在于编码标准不同。汉字采用gbk,而idea使用UTF-8。gbk编码中文是2个字节,UTF-8编码是3个字节代表一个字符,read读到的是一个字节,一个中文,当然就读半个字节了,不完全当然是乱码了。 三、解决方法   将FileReader改用FileInputStream读取文件,就OK啦: InputStreamReader reader = new InputStreamReader(new FileInputStream(filepath), "GBK"); BufferedReader br = new BufferedReader(reader);String line;while ((line = br.readLine()) != null) {//。。。} 来源: https://www.cnblogs.com/l199616j/p/11643652.html

MySQL学习笔记

谁说我不能喝 提交于 2019-11-30 18:34:55
如何向mysql5数据库插入中文 ———— JAVA学习室( http://www.java3z.com ) 向mysql5数据库正常插入中文,操作如下: 1.把字符集设定为能支持中文的gbk(在my.ini文件中改) 2.把数据库的Client Characterset和Conn. Characterset的字符集都设定为gbk; SET character_set_client=gbk; SET character_set_connection=gbk; 之后再尝试向数据库插入中文,这时插入没有出错,但查询显示是乱码。最后再更改; SET character_set_results=gbk; 这样之后,所有的问题都解决了,能正常插入也能正常显示了。 如果还不正常,可以在创建数据库时指定编码gbk, 如下所示 (1) create database if not exists test default character set gbk; 注意:有些人可能会问,建立数据库表时候还没设置编码呢?其实,如果你容器编码是gbk的,则表也是gbk,如下设置表编码为gbk: CREATE TABLE IF NOT EXISTS test( test_id int auto_increment, test_name varchar(50) ) ENGINE=InnoDB DEFAULT

彻底解决mysql中文乱码的办法

纵饮孤独 提交于 2019-11-30 18:34:38
MySQL会出现中文乱码的原因不外乎下列几点: 1.server本身设定问题,例如还停留在latin1 2.table的语系设定问题(包含character与collation) 3.客户端程式(例如php)的连线语系设定问题 强烈建议使用utf8!!!! utf8可以兼容世界上所有字符!!!! Linux下Mysql插入中文显示乱码解决方案 mysql -uroot -p 回车输入密码 进入mysql查看状态如下: mysql不能插入中文 默认的是客户端和服务器都用了latin1,所以会乱码。 解决方案: mysql>user mydb; mysql>alter database mydb character set utf8;! 另一种方法是直接修改默认的Mysql配置文件 在debian环境下,彻底解决mysql无法插入中文和中文乱码的办法 上面提到了用临时方法更改数据库的字符集设置,显示中文,但是后来发现在有的系统下并不能成功,比如我用的debian 7.0,找了好久终于找到一个适合debian系统的解决方案,debian 7.0下测试成功,其他诸如修改client和mysql加入default-character-set=utf8的方法之类的,只适用与5.5以前的系统! 终极决绝方案,一劳永逸: debian下mysql的字符串修改为utf8(参考:rainysia的专栏

编码与乱码

夙愿已清 提交于 2019-11-30 18:27:59
首先,了解一下都有哪些编码方式? 一、默认的是ASCII 计算机发明之后需要使用0和1来表示字符,于是美国人在50年代发明了 ASCII (美国标准信息交换代码,American Standard Code for Information Interchange) 码。它由128个字符组成,包括大小写字母、数字0-9、标点符号、非打印字符(换行符、制表符等4个)以及控制字符(退格、响铃等)组成,每个字符占7位(1字节是8位)。比如 'a'的 ASCII码10进制是97,二进制是 01100001。 ISOLatin-1 (使用ASCII的文件不必有编码cookie,Latin-1仅当注释或文档字符串涉及作者名字需要Latin-1时才被使用) 可以认为ASCII是美国发明针对英语设计的,但欧洲人在用的时候出现了问题。对于一些特殊的拉丁字符,比如法文德文里某些字符,ASCII字符集就不包括。于是欧洲人发明了一种8位字符集是ISO 8859-1Latin 1,也简称为ISOLatin-1。它对ASCII做了个扩充,对于0-127之间的字符还使用ASCII里的字符不变, 把位于128-255之间的字符表示拉丁字母表中特殊语言字符。 二、UNICODE 后来计算机不断发展扩展到亚洲非洲,如何用计算机使用的二进制表示这些语言又成了问题。ISOLatin-1的8位字符集只能表示256个字符

python3编码问题总结

隐身守侯 提交于 2019-11-30 12:10:51
python 读取文本文件,报出gbk问题 问题如下: UnicodeDecodeError: 'gbk' codec can't decode byte 0xaa in position 225: illegal multibyte sequence 因为如果你没有指定打开文件编码方式的话,windows默认是gbk编码打开(Linux默认为utf-8编码),而你的文件是utf-8编码, 所以有的字符gbk无法识别也就是:can't decode 某某位置的字节码 解决办法就是: 指定打开文件的编码方式, with open("data.txt",'r',encoding='utf-8') as data: 题外话:因为文件在磁盘是以二进制的形式存储的,人要打开,要能看懂,必须变成人能看懂的形式,这就是编码encode,python编码以前使用的是ASCII编码,现在都是使用的Unicode编码集(python3中str就为Unicode码),他是一个中间码,注意是中间码而不是特指哪个编码方式,utf-8 或者gbk都是Unicode编码集的变形形式。想要将一个编码形式的文件变成另一个编码形式,就要使用中间码Unicode作为编码形式转换的桥梁,这就是解码decode,解码为中间码Unicode。 来源: https://blog.csdn.net/hubingshabi

Tomcat启动后中文乱码问题解决

笑着哭i 提交于 2019-11-30 08:06:35
到Tomcat根目录下“conf”子目录下的“logging.properties”文件中查看日志记录的配置,找到该文件,可发现很多的“encoding = UTF-8”配置项,因此判断是该配置项影响了Tomcat控制台的中文乱码输出,将所有的“encoding = UTF-8”都修改为“encoding = GBK”,使其识别支持中文,保存文件修改后,再次启动Tomcat,则看到如下的正常控制台界面,中文乱码不见了。 来源: CSDN 作者: Batter&xiaolai 链接: https://blog.csdn.net/weixin_44977950/article/details/90639535

IDEA 启动Tomcat 时控制台乱码问题

大憨熊 提交于 2019-11-30 08:04:36
问题描述:使用Intellij IDEA启动Tomcat,发现乱码问题,虽然不影响正常使用,但是本人有轻度强迫症,所以还是想把乱码改过来。 乱码情况:IDEA默认展示的三个log信息,全部乱码。 解决方案: 修改Tomcat安装目录下的conf文件中的logging.porperty文件中的内容: 把需要修改的乱码log信息,对应的位置进行修改,我的是需要把UTF-8修改为GBK。 第28行,把UTF-8改为GBK,重启服务即可。 第33行,把UTF-8改为GBK,重启服务即可。 第47行,把UTF-8改为GBK,重启服务即可。 来源: CSDN 作者: ailian_f 链接: https://blog.csdn.net/ailian_f/article/details/87967177

qt 中文乱码问题

邮差的信 提交于 2019-11-30 07:16:04
QTextCodec *codec = QTextCodec::codecForName("UTF-8"); QTextCodec::setCodecForTr(codec); QTextCodec::setCodecForLocale(QTextCodec::codecForLocale()); QTextCodec::setCodecForCStrings(QTextCodec::codecForLocale()); 在main函数中加入以上代码。   转自:http://f.dataguru.cn/thread-866992-1-1.html 解决Qt中文乱码以及汉字编码的问题(UTF-8/GBK) 编码知识科普Qt常见的两种编码是:UTF-8和GBK ★UTF-8:Unicode TransformationFormat-8bit,允许含BOM,但通常不含BOM。是用以解决国际上字符的一种多字节编码,它对英文使用8位(即一个字节),中文使用24为(三个字节)来编码。UTF-8包含全世界所有国家需要用到的字符,是国际编码,通用性强。UTF-8编码的文字可以在各国支持UTF8字符集的浏览器上显示。如,如果是UTF8编码,则在外国人的英文IE上也能显示中文,他们无需下载IE的中文语言支持包。 ★GBK是国家标准GB2312基础上扩容后兼容GB2312的标准