本文主要记录了Qt控制台出现中文乱码的问题,一下列出了集中编码设置的方法。以前用VC6.0写的一个贪吃蛇的游戏,今天把源文件拿出来在Qt上面运行,出现中文乱码的问题。以前也遇到过,没想到小小的乱码,折腾了1个小时左右。


编码的发展简史

第一台计算机诞生不久,就有了ASCII编码,后来因ASCII不能满足现下的字符,就由ISO组织扩展成为ISO-8859-1。计算机的普及,各个国家都有了自己的编码,目的可以在计算机上可以显示它们的语言。比如GBK编码来表示中文。但这也产生了编码不一致的问题,后来unicode统一了全世界的语言的编码规则,它可以表示全世界的语言。那为何美国人就不会遇到字符乱码的问题?美国人使用的是英文,而中国人使用的是中文。原因是全世界的字符编码对英文的编码规则是一致的,都是以一个字节来保存英文的。而中文不同,有些编码根本不支持中文,比如ISO-8859-1,有些编码对中文的编码规则不一致,比如GBK以2个字节,而UTF-8是以3个字节保存中文。详细了解乱码问题。


首先查看控制台的编码

因为我这里使用的是控制台,如果是窗体应用程序,应该查看系统的编码。


工具菜单下设置初始编码环境


编辑菜单下重新设置编码


侧边栏项目里设置编码


小结:乱码问题终归是编码问题,编写的编码和显示的编码不同一造成的。解决的本质就是将这2个编码设置统一即可。 项目开始之前,一定要考略周全,减少不必要的麻烦。


Qt控制台中文乱码问题的更多相关文章

  1. 编码(ACSII unicod UTF-8)、QT输出中文乱码深入分析

    总结: 1. qt输出中文乱码原因分析 qt的编程环境默认是utf-8编码格式(关于编码见下文知识要点一): cout << "中文" << endl; 程 ...

  2. pycharm控制台中文乱码问题

    pycharm控制台中文乱码问题一般是因为之前有配置保存到了文件里, C盘下.pycharm文件夹下有配置文件,删除文件后重装pycharm,配置会重置 不过最后解决问题的做法是删除配置文件后,重新装 ...

  3. mac中的myeclipse的控制台中文乱码问题解决办法

    之前写java用到控制台的主要是字符和数字,中文输入貌似真的还没用过,所以就遇到了一个悲剧的老问题,估计每个程序员都会遇到——中文乱码. 用的是MyEclipse开发环境,Window->Gen ...

  4. Intellij idea操作maven时控制台中文乱码

    只留存记录 windows环境下,Intellij idea12中maven操作时,控制台中文乱码问题(编译报错或者clean install时出现的其他错误描述乱码) 在cmd中mvn中文正常显示, ...

  5. IDEA操作maven时控制台中文乱码

    windows环境下,Intellij idea12中maven操作时,控制台中文乱码问题(编译报错或者clean install时出现的其他错误描述乱码) 在cmd中mvn中文正常显示,log4j打 ...

  6. IDEA使用maven构建时控制台中文乱码的解决办法

    使用maven clean install 项目时控制台中文乱码,解决办法如下: Setting->maven->runner VMoptions: -Dfile.encoding=UTF ...

  7. idea 控制台中文乱码

    idea 控制台中文乱码,网上找了好多基本都是说在tomcat配置文件里面添加-Dfile.encoding=UTF-8 添加后依然乱码, 需要在idea64.exe.vmoptions文件中添加-D ...

  8. Tomcat启动时,控制台和IDEA控制台中文乱码解决方案

    Tomcat启动时 控制台中文乱码 cmd控制台 IDEA控制台 解决方案 cmd乱码 打开Tomcat目录下的apache-tomcat-8.5.47\conf\logging.properties ...

  9. tomcat启动控制台中文乱码问题解决方法

    tomcat启动控制台中文乱码问题解决方法,修改tomcat安装路径/conf/logging.properties文件 java.util.logging.ConsoleHandler.encodi ...

随机推荐

  1. Scatterplots 散点图

    Simple Scatterplot # Simple Scatterplot attach(mtcars)plot(wt, mpg, main="Scatterplot Example&q ...

  2. js获取单选按钮的值

    function a(){ var v=document.getElementsByName("radio"); ;i<v.length;i++){ if(v[i].chec ...

  3. window下flask开发环境搭建

    1.安装python 官网下载https://www.python.org/downloads/,按提示安装就行,记住安装目录,把它添加到系统path中. 2.安装pip 官网下载pip文件:http ...

  4. SortedDictionary

    对一个Dictionary<TKey, TValue>进行键排序可以直接用SortedDictionary SortedDictionary<TKey, TValue> 泛型类 ...

  5. codesmith生成java类

    今天生成的时候的时候找不到类型转换的文件JavaAlias 后台发现我装完codesmith后,没有把类型转换类放入对应的文件 把System-JavaTableNameComments.csmap和 ...

  6. python核心编程(第二版)习题

    重新再看一遍python核心编程,把后面的习题都做一下.

  7. jquery选择器总结 转自(永远的麦子)

    jQuery选择器总结 阅读目录 1, 基本选择器? 2, 层次选择器? 3, 过滤选择器? 4, 表单选择器? jQuery选择器共有四大类,分别为基本选择器,层次选择器,过滤选择器和表单选择器.下 ...

  8. select值的获取及修改

    例子: <select id="a" name="a"> <options value="1">a</opti ...

  9. JDBC学习笔记(2)

    上一篇博客简单介绍了JDBC连接的简单知识,下面就详细介绍.李勇老师对JDBC连接有很好的比喻: 首先加载驱动,其实就是一些类,就是jar包,要加载到classpath里面的.实际的程序,服务和数据库 ...

  10. Python 类的命名空间

    Python中类的定义其实就是执行代码块: class cc: a=0 print '+++++', print a 会直接执行print语句而不是在实例化cc时执行.执行后会生成对应的类的命名空间. ...