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. BZOJ3083——遥远的国度

    1.题目大意:三个操作,换根,修改树上的某条路径,查询一个子树的最小值 2.分析:这个其实还是挺好做的,修改树上的某条路径,裸树剖,查询子树的最小值,这个是树剖满足dfs序 那么就是换根了,对吧,其实 ...

  2. 手把手教你crontab排障

    导读 crond是linux下用来周期性的执行某种任务或等待处理某些事件的一个守护进程,与windows下的计划任务类似,当安装完成操作系统后,默认会安装此服务工具,并且会自动启动crond进程,cr ...

  3. 客户端安全-xss-1类型介绍

    1.需求 xss的有哪些类型的了解 2.xss的类型 1.反射 xss 2.存储 xss 3.Dom based xss 3.类型详解 1.反射xss例子 <?php echo 3; $a = ...

  4. K-V-O 键值观察机制

    在两个不同的控制器之间传值是iOS开发中常有的情况,应对这种情况呢,有多种的应对办法.kvc就是其中的一种,所以,我们就在此解释之.   key value observing  键值观察,给人一种高 ...

  5. Caffe学习系列(8):solver及其配置

    solver是caffe的核心. net: "examples/mnist/lenet_train_test.prototxt" test_iter: 100 test_inter ...

  6. Ubuntu14.04安装intel集显驱动

    Ubuntu14.04安装intel集显驱动 标签(空格分隔): ubuntu linux 驱动安装 1.查看本机显卡型号 使用lspci命令来获取PCI接口硬件信息 o@o-pc:~$ lspci ...

  7. 升级centos内核到最新版本

    root权限执行: rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org rpm -Uvh http://www.elrepo.org/ ...

  8. c++写入txt文件

    简单方式: #include "stdafx.h" #include <iostream> #include <iomanip> #include < ...

  9. ASP.NET 上的 Async/Await 简介

    原文链接 大多数有关 async/await 的在线资源假定您正在开发客户端应用程序,但在服务器上有 async 的位置吗?可以非常肯定地回答“有”.本文是对 ASP.NET 上异步请求的概念性概述, ...

  10. javascript 解析dom字符串

    知识要求:1:熟悉dom结构层次(如childNodes,nodeType,parent,children)等. 2:熟悉jq对象转换js 对象,反之 毕竟不是专业js人.借助第3方框架.其实jq也是 ...