1.GB2312、GBK和UTF-8三种编码的简要说明

  GB2312、GBK和UTF-8都是一种字符编码,除此之外,还有好多字符编码。只是对于我们中国人的应用来说,用这三种编码 比较多。简单的说一下,为什么要用编码,在计算机内,储存文本信息用ASCII码,每一个字符对应着唯一的ASCII码。最初计算机是由美国发明的,他们用的是英文字符使用ASCII很好表示。但我们中国的汉字编码就稍有不同,但原理相同,即都要求每个字符要唯一对应一个标识码,因此国家制定了汉字的字符编码标准:GB2312、GBK等。GB就是国标的意思,GB2312和GBK主要用于汉字的编码,GB2312是中国规定的汉字编码,也可以说是简体中文的字符集编码,GBK 是 GB2312的扩展 ,除了兼容GB2312外,它还能显示繁体中文,还有日文的假名。而UTF-8是全世界通用的。意思就是说,如果你的应用主要面对使用汉语的中国人的话,使用GB2312和GBK非常好,文字储存体积要小,有一些优点。如果你的应用是面向世界的,你再用GB2312和GBK作为应用的编码,在外国有些电脑的浏览器上很有可能就没有这种编码,那么你应用上的汉字就会变成无法识别的乱码。其他国家语言也有其对应的编码标准。

2.QT中文显示乱码问题

   fromLocal8Bit()函数,实现了从本地字符集GB到Unicode(统一码、万国码、单一码是计算机科学领域里的一项业界标准,包括字符集、编码方案等。Unicode是为了解决传统的字符编码方案的局限而产生的,它为每种语言中的每个字符设定了统一并且唯一的二进制编码,以满足跨语言、跨平台进行文本转换、处理的要求)的转换,主要应用于处理汉语显示乱码等问题。fromUtf8函数,实现了从国标码GB到世界通用编码UTF-8转换。具体解决方案如下:
1. QString str = QString::fromLocal8Bit("需要显示的中文字符"); // vs2010 vs2008 vs2005 gcc vs2003, 如源码是GBK,GB2312 编码即记事本中的 ANSI 编码
2. QString str = QString::fromUtf8("需要显示的中文字符");  //  gcc vs2003, 如源码是 UTF-8 编码
 上面的两种情况,要根据你使用工具的具体环境选择,就VS2010而言:在VS菜单栏点击 文件 -> 高级保存选项,中查看和修改编码格式,切勿将上面两句代码直接拷贝到工程中。

GB2312、GBK和UTF-8三种编码以及QT中文显示乱码问题的更多相关文章

  1. 【转】GB2312、GBK和UTF-8三种编码的简要说明

    原文地址:http://www.cnblogs.com/hust-yingjie/p/5481966.htmlGB2312.GBK和UTF-8都是一种字符编码,除此之外,还有好多字符编码.只是对于我们 ...

  2. Windows 记事本的 ANSI、Unicode、UTF-8 这三种编码模式有什么区别?

    [梁海的回答(99票)]: 简答.一些细节暂无精力查证,如果说错了还请指出. 一句话建议:涉及兼容性考量时,不要用记事本,用专业的文本编辑器保存为不带 BOM 的UTF-8. * * * 如果是为了跨 ...

  3. jmeter随笔(9)--有两种编码风格,导致数据乱码

    问题:在一个网站,有两种编码风格,导致数据乱码 解决办法: 1.首先设置jmeter的配置文件 2.针对要求是utf-8格式的这样的请求,做单独的编码处理(beanshell处理) 3.运行,在htm ...

  4. 【GBK、UTF-8、ISO8859-1】三种编码方式总结及实例

    感谢:https://blog.csdn.net/youngstar70/article/details/64117297 一.总结 在Java中,String的getBytes()方法是得到一个操作 ...

  5. 教你三种jQuery框架实现元素显示及隐藏动画方式

    摘要:在jQuery框架中对元素对象进行显示和隐藏有三种方式,分别是"默认方式显示和隐藏"."滑动方式显示和隐藏"."淡入淡出显示和隐藏". ...

  6. Python | 多种编码文件(中文)乱码问题解决

    问题线索   1 可以知道的是,文本文件的默认编码并不是utf8. 我们打开一个文本文件,并点击另存为 2 我们在新窗口的编码一栏看到默认编码是ANSI.先不管这个编码是什么编码,但是通过下拉列表我们 ...

  7. ArcGIS Server 10.2 实战(三)图层标注及图例中文显示乱码的解决

    发布的图层中不可避免的使用到中文来标注,默认设置下,ArcGIS Server不支持中文的,中文标注显示成乱码,主要是编码的问题,需要把手动把编码改为UTF-8. ArcGIS Server 10.2 ...

  8. js加密,三种编码方式

      ·escape(69个):*/@+-._0-9a-zA-Z     ·encodeURI(82个):!#$&’()*+,/:;=?@-._~0-9a-zA-Z     ·encodeURI ...

  9. ruby -- 问题解决(三)编码错误导致无法显示(1)

    从数据库中取得数据显示时报 incompatible character encodings: GBK and ASCII-8BIT 或 incompatible character encoding ...

随机推荐

  1. web文件操作常见安全漏洞(目录、文件名检测漏洞)

    做web开发,我们经常会做代码走查,很多时候,我们都会抽查一些核心功能,或者常会出现漏洞的逻辑.随着技术团队的壮大,组员技术日益成熟. 常见傻瓜型SQL注入漏洞.以及XSS漏洞.会越来越少,但是我们也 ...

  2. Sqli-LABS通关笔录-12

    通过这个关卡我学习到了: 1.双引号千万别忘记,就是因为忘了弄了好一会儿.一直不报错. 2. 00x1万能密码构造二 报错的内容为: You have an error in your SQL syn ...

  3. php DI实现实例:

    <?php //DI 主要运用IoC用于解决 依赖文件共享(无需每一个依赖都手动注册) //管理应用程序中的『全局』对象(包括实例化.处理依赖关系). //可以延时加载对象(仅用到时才创建对象) ...

  4. am335x 电容屏驱动添加。

    参考:http://www.cnblogs.com/helloworldtoyou/p/5530422.html 上面可以下载驱动. 解压后驱动有如下目录: 我们要选择的是: eGTouchARM/e ...

  5. 把ZenCart在线商店搭建到本地

    前些日子,要给在线的zencart商店做一些小改动,需要安装一个插件.大家都知道,zencart有很多插件选用,兼容性也好坏不一,直接在正在运营的网站程序上修改,难免会影响到客户体验,出什么差错了代价 ...

  6. zend studio 10.6 汉化破解

    破解方法: 1.zend studio 10.6下载:百度网盘 2.zend 破解文件下载:百度网盘 3.安装完zend后不要运行,将下载的破解文件复制替换到plugins文件夹下 4.然后在选择完w ...

  7. 【GoLang】golang HTTP GET/POST JSON的服务端、客户端示例,包含序列化、反序列化

    服务端代码示例: package main import ( "encoding/json" "fmt" "io/ioutil" " ...

  8. JavaScript——特殊点总结

    首先,== equality 等同,=== identity 恒等. ==, 两边值类型不同的时候,要先进行类型转换,再比较. ===,不做类型转换,类型不同的一定不等. 下面分别说明: 先说 === ...

  9. Light OJ 1032

    数位dp,许多数位dp需要统计某种模式(子串)出现的数量,这种题通常需要在递归参数中加入高位已经出现过的模式的数量. #include <cstdio> #include <cstr ...

  10. Unity3D研究院之Prefab里面的Prefab关联问题(转)

    转自http://www.xuanyusong.com/archives/3042 最近在做UI部分中遇到了这样的问题,就是Prefab里面预制了Prefab.可是在Unity里面一旦Prefab预制 ...