作者:jostree 转载请注明出处 http://www.cnblogs.com/jostree/p/4374404.html 1.读取UTF-8编码文本原理 首先了解UTF-8的编码方式,UTF-8采用可变长编码的方式,一个字符可占1字节-6字节,其中每个字符所占的字节数由字符开始的1的个数确定,具体的编码方式如下: U-00000000 - U-0000007F: 0xxxxxxx U-00000080 - U-000007FF: 110xxxxx 10xxxxxx U-00000800…
由于一些网站通信编码的问题不得不把一直使用的网站编码由UTF8转为GBK,在转换过程中在官方看了很多方法,自己也都尝试了一些最后都没有能够成功,数据库的转换一直都是没有大问题,不存在丢失什么的,能看到的问题就是会员设置里边没有任何信息,只有保存.这个问题官方有修复方案在这里就不做过多的说明了.现在主要说的问题就是另一个看不见的数据库问题.造成的问题就是门户首页以及社区首页有DIY数据的地方都卡屏,不显示任何东西,页面卡在第一个有DIY调用模块的地方就不加载了.这个问题也一直排查了很久最后尝试了各…
我们有很多时候需要使用中文编码格式,比如gbk.gb2312等,但是因为主要针对中文编码设置,因此并不完全通用,这样一来就有了在各编码间相互转换的需求,比如和UTF8的转换.可是在我使用的过程中,却发现编码转换并没有想象中的简单,或者说可能会出错,即使你使用的系统API.我在使用中,产生一些疑惑,搜索资料也没有完全解决我的问题,因此整理了这篇文章.文章末尾列出了我参考的一些资料或者代码实现等,在此谢过. 本文先各个中文编码进行介绍,只做简单介绍,不涉及详细原理(本文结尾附有链接可参阅),然后实例…
http://wenku.baidu.com/link?url=bheGEzfSjEx-QX-ciME5oKooKYE08_NJZ02l2kKFa7kVZJ4t8Ks2uSNByovgP2QL6btqpl4zo0IrEqRDbPDrdrxVM1PgNsz6oiWE400Yavq http://www.cnblogs.com/cy163/archive/2007/05/31/766886.html http://blog.csdn.net/caisini_vc/article/details/54…
python代码文件的编码 py文件默认是ASCII编码,中文在显示时会做一个ASCII到系统默认编码的转换,这时就会出错:SyntaxError: Non-ASCII character.需要在代码文件的第一行或第二行添加编码指示: # coding=utf-8 ##以utf-8编码储存中文字符 print '中文'像上面那样直接输入的字符串是按照代码文件的编码来处理的,如果用unicode编码,有以下2种方式: s1 = u'中文' #u表示用unicode编码方式储存信息 s2 = uni…
QTextCodec *gbk = QTextCodec::codecForName("gb18030"); QTextCodec *utf8 = QTextCodec::codecForName("utf-8"); QTextCodec::setCodecForTr(gbk); QTextCodec::setCodecForLocale(gbk); // QString utfStr = QObject::trUtf8( tr("webservice 读…
有时候默认是gbk编码,但是要读取utf8文件,所以会出现decode 错误. 使用codecs模块: import codecs file = codecs.open('filename','r',encoding='utf-8') 使用这个读取带有汉字的文件,如果是汉字,会整个读取进来,而不是按字节读取.读进来会自动转换成unicode.…
在使用Visual Studio 2005进行MFC开发的时候,发现自动添加的注释变成了乱码.像这样: // TODO: ÔÚ´ËÌí¼ÓרÓôúÂëºÍ/»òµ÷ÓûùÀà 还有这样: // TODO: ÔÚ´ËÌí¼ÓÏûÏ¢´¦Àí³ÌÐò´úÂëºÍ/»òµ÷ÓÃĬÈÏÖµ 它们正确的显示应该是 // TODO: 在此添加专用代码和/或调用基类 和 // TODO: 在此添加消息处理程序代码和/或调用默认值 当保存的时候,还出现了这样的对话框: 网上找了各种教程,包括什么设置“自…
第一节:UTF-8和GBK编码概述 UTF-8 (8-bit Unicode Transformation Format) 是一种针对Unicode的可变长度字符编码,又称万国码,它包含全世界所有国家需要用到的字符,是国际编码,通用性强,是用以解决国际上字符的一种多字节编码.由Ken Thompson于1992年创建.UTF-8用1到4个字节编码UNICODE字符,它对英文使用8位/8Bit(即1个字节/1Byte),中文使用24位/24Bit(3个字节/3Byte)来编码.用在网页上可以同一页…
最近参加了由CCF举办的数据挖掘比赛,主办方提供了csv格式的数据文件,由于中文显示乱码的问题,我先用txt文本编辑器将编码改为utf-8格式,但是在读取文件并输出读取结果时发生了问题,代码如下: # -*- coding:utf-8 -*- __author__ = 'Jz' csvPath = 'D:/coding_file/python_file/Big Data/trainUTF8.csv' try: csv = open(csvPath, 'r') lines = csv.readli…
一直对字符的各种编码方式懵懵懂懂,什么ANSI UNICODE UTF-8 GB2312 GBK DBCS UCS……是不是看的很晕,假如您细细的阅读本文你一定可以清晰的理解他们.Let's go! 很久很久以前,有一群人,他们决定用8个可以开合的晶体管来组合成不同的状态,以表示世界上的万物.他们看到8个开关状态是好的,于是他们把这称为"字 节". 再后来,他们又做了一些可以处理这些字节的机器,机器开动了,可以用字节来组合出很多状态,状态开始变来变去.他们看到这样是好的,于是 它们就这…
这里用到的读取utf8文件的思路特别朴素.先把utf8文件按char读取到内存里.因为utf8是变长的,为了处理方便,在内存里把char转化成wchar_t,这样一个字符就是一个wchar_t.把utf8文件转成wchar_t的字符串之后,可以进行各种操作,比如统计非中文字符,对齐等.当然也包含要显示wchar_t.windows的命令行不能直接显示wchar_t字符,想显示必须再把wchar_t转成gbk或者utf8. 看C28ShowWchar.c的代码: //utf-8编码 #includ…
编码历史与区别 很久很久以前,有一群人,他们决定用8个可以开合的晶体管来组合成不同的状态,以表示世界上的万物.他们看到8个开关状态是好的,于是他们把这称为"字节". 再后来,他们又做了一些可以处理这些字节的机器,机器开动了,可以用字节来组合出很多状态,状态开始变来变去.他们看到这样是好的,于是它们就这机器称为"计算机". 开始计算机只在美国用.八位的字节一共可以组合出256(2的8次方)种不同的状态. 他们把其中的编号从0开始的32种状态分别规定了特殊的用途,一但终…
这两个转码在网页客户端处理用很常见,所使用的平台为VS2010,字符集采用多字节字符集 utf8转gbk string UTF8ToGBK(const std::string& strUTF8) { , strUTF8.c_str(), -, NULL, ); WCHAR* wszGBK = ]; memset(wszGBK, , len * + ); MultiByteToWideChar(CP_UTF8, , (LPCTSTR)strUTF8.c_str(), -, wszGBK, len)…
Brophp框架开发时连接数据库读取UTF8乱码的解决办法 (2012-09-15 10:41:22) 转载▼ 标签: 杂谈 it php 分类: 建站技术 Brophp框架开发时连接数据库读取UTF8乱码的解决用brophp框架读取数据库的时候发生乱码,数据库和源码都采用的utf-8编码,按理说不应该出现乱码的.仔细分析应该是出在数据连接时,后来看到一个高手的解答总算弄明白了.英文正常读取而中文乱码,基本上都是字符集的问题.要在PHP端发送set names utf8.声明和数据库握手的时候也…
解決BufferedReader读取UTF-8文件中文乱码         File rst01 = new File(context.getRealPath("/")+"zljb0.html");         File rst02 = new File(context.getRealPath("/")+"zljb.html"); InputStreamReader isr = new InputStreamReader(…
在php中如果我们统一编码是没有什么问题了,但是很多朋友会发现一个问题就是utf8和gbk编码中返回的值会有所区别: php 在utf8和gbk编码下使用serialize和unserialize互相序列化和反序列化会出现无法成功反序列化的问题. 问题出现的原因主要是在不同编码下strlen函数计算中文字符串长度不同的原因. <?php $array=array('title'=>'php教程分享网','url'=>'http://www.111cn.net'); echo serial…
转自:http://luchanghong.com/python/2012/07/06/python-encoding-with-unicode-and-gbk-and-utf8.html 概要:编码转换无疑是程序开发过程中常遇到而且很让人头疼的问题,一旦和数据库交互那就更麻烦了,今天来总结一下 python 中编码转换的方法. 前一段时间就想写一篇总结Python字符串的文章,但是时间较紧,而且我当时遇到的问题也不是很难,就暂搁下了,今天又被这编码折磨一番,泪奔啊…… 至于unicode.ut…
一.编码 ascii: A:00000010 8位 一个字节 unicode: A:00000000 00000001 00000010 00000100 32位 四个字节 中:00000000 00000001 00000010 00000100 32位 四个字节 utf-8: A:00000110 8位 一个字节 中:00000010 00000110 16位 两个字节 gbk: A:00000110 8位 一个字节 中:00000010 00000110 16位 两个字节 1,各个编码之间…
UTF-8和GBK有什么区别 2017年06月03日 18:10:43 阅读数:6516 GBK是在国家标准GB2312基础上扩容后兼容GB2312的标准(好像还不是国家标准).GBK编码专门用来解决中文编码的,是双字节的.不论中英文都是双字节的.UTF-8 编码是用以解决国际上字符的一种多字节编码,它对英文使用8位(即一个字节),中文使用24位(三个字节)来编码.对于英文字符较多的论坛则用UTF-8 节省空间.另外,如果是外国人访问你的GBK网页,需要下载中文语言包支持.访问UTF-8编码的网…
编码小结 1 初识编码 所谓编码,是信息从一种形式或格式转换为另一种形式的过程. 字符编码,从自然语言的字符的一个集合(如字母表或音节表),到其他东西的一个集合(如号码或电脉冲)的映射 ANSI:windows特有,在中国大陆即为GBK (DBCS Double Byte Charecter Set,双字节字符集) UCS-2:即Unicode,(Universal Multiple-Octet Coded Character Set) UTF:(UCS Transfer Format,用以存储…
转载自http://www.cnblogs.com/azraelly/archive/2012/06/21/2558360.html UTF8与GBK字符编码之间的相互转换 C++ UTF8编码转换 CChineseCode 一 预备知识 1,字符:字符是抽象的最小文本单位.它没有固定的形状(可能是一个字形),而且没有值.“A”是一个字符,“€”(德国.法国和许多其他欧洲国家通用货币的标志)也是一个字符.“中”“国”这是两个汉字字符.字符仅仅代表一个符号,没有任何实际值的意义. 2,字符集:字符…
sqoop导出到mysql中文乱码问题总结.utf8.gbk 今天使用sqoop1.4.5版本的(hadoop使用cdh5.4)因为乱码问题很是头痛半天.下面进行一一总结 命令: [root@sdzn-cdh01 etc]# sqoop export --connect "jdbc:mysql://192.168.200.40:3306/otherdb?useUnicode=true&characterEncoding=utf-8" -m 1  --username root…
应用都要遇到一个很头疼的问题:文字编码,汉字的 GBK 和 国际通用的 UTF-8 的互相转化稍一不慎, 就会满屏乱码.下面介绍 UTF-8 和 GBK 的 NSString 相互转化的方法   NSStringEncoding enc = CFStringConvertEncodingToNSStringEncoding(kCFStringEncodingGB_18030_2000); char* c_test = "北京"; int nLen = strlen(c_test); N…
ascii 是最早美国用的标准信息交换码,把所有的字母的大小写,各种符号用 二进制来表示,共有256中,加入些拉丁文等字符,1bytes代表一个字符, Unicode是为了统一世界各国语言的不用,统一用2个bytes代表一个字符,可以表达2**16=65556个,称为万国语言,特点:速度快,但浪费空间, 可以用在内存处理中,兼容了utf-8,gbk,ASCII, utf-8 为了改变Unicode的这种缺点,规定1个英文字符用1个字节表示,1个中文字符用3个字节表示,特点:节省空间,速度慢,用在…
GBK是在国家标准GB2312基础上扩容后兼容GB2312的标准(好像还不是国家标准).GBK编码专门用来解决中文编码的,是双字节的.不论中英文都是双字节的. UTF-8编码是用以解决国际上字符的一种多字节编码,它对英文使用8位(即一个字节),中文使用24位(三个字节)来编码.对于英文字符较多的论坛则用UTF-8节省空间.另外,如果是外国人访问你的GBK网页,需要下载中文语言包支持.访问UTF-8编码的网页则不出现这问题.可以直接访问. GBK包含全部中文字符:UTF-8则包含全世界所有国家需要…
測试样例: Java读取UTF-8的txt文件第一行出现乱码"?"及解决 test.txt文件内容: 1 00:00:06,000 --> 00:00:06,010 <b>Allerleirauh</b> (2012) <i>dTV - Das Erste - 20. Januar 2013</i> 2 00:00:10,280 --> 00:00:12,680 Was geh?rt zu einer guten Suppe?…
UTF8与GBK字符编码之间的相互转换 C++ UTF8编码转换 CChineseCode 一 预备知识 1,字符:字符是抽象的最小文本单位.它没有固定的形状(可能是一个字形),而且没有值."A"是一个字符,"€"(德国.法国和许多其他欧洲国家通用货币的标志)也是一个字符."中""国"这是两个汉字字符.字符仅仅代表一个符号,没有任何实际值的意义. 2,字符集:字符集是字符的集合.例如,汉字字符是中国人最先发明的字符,在中文.日…
发展史: https://www.cnblogs.com/houxt/p/11250878.html python2内容进行编码(默认ascii),而python3对内容进行编码的默认为utf-8. ascii: 最多只能用8位来表示(一个字节),即:2**8 = 256(即pow(2,8)=256),所以,ASCII码最多只能表示256个符号. unicode:万国码,任何一个字符==两个字节 utf-8:万国码的升级版,一个中文字符==三个字节,英文是一个字节,欧洲的是2个字节 gbk:国内…
中文解码提示UnicodeDecodeError,UnicodeDecodeError: 'utf-8' codec can't decode byte 0xd6 in position 0: invalid continuation byte 将‘utf-8'改为'gbk’就解决了. 参考下面文章. import win32conimport win32clipboard as WC class ClipBoard(object):    @staticmethod    def getTex…