风暴俱乐部|Windows平台C语言程序在控制台显示中文乱码分析及解决( 四 )
4.2.2 方法二(2和4组合)修改源文件编码为GBK编码 , 将GCC编译器对输入文件-源文件设置为是按GBK编码解析 。
一、修改源文件编码为GBK编码的具体步骤
与上面类似(在下拉框中把UTF-8改为WINDOWS-936即可) 。
修改源文件编码为GBK编码
二、修改编译器对输入源文件的解析编码为GBK编码的具体步骤如下:
修改编译器输入编码设置
- Step1:通过执行Code::Blocks软件的菜单栏【设置】下的【编译器】子菜单项 , 进入“编译器设置”窗口 。
- Step2:点击左侧【全局编译器设置】按钮(上图标号1处) , 继续点击右侧的【编译器设置】选项卡(上图标号2处)
- Step3:再继续点击下方的【其他编译器设置】选项卡(上图标号3处)
- Step4:在下面的文本框中直接输入-finput-charset=GBK(上图标号4处)
- Step5:点击右下角的【确定】按钮 , 完成编译器输入编码设置 。
验证:经过前面两种方法的设置 , 完成编码一致性后 , 再次进行编译 , 就已经可以成功通过了(如下图示) 。
但是你会发现程序运行在控制台时显示中文乱码了 。
此时再回想一下:源文件编码(GBK)+ 编译器输入设置编码(GBK) = 编译通过 。 但因为GCC编译器默认输出执行文件编码为UTF-8编码 , 同时Windows控制台默认是GBK编码 , 所以此时程序运行在控制台显示中文乱码逻辑上是正常的 。
4.3 中文乱码解决针对中文乱码的两种情形(5和8组合、6和7组合)具体解决办法是:
4.3.1 解决方法一(6和8组合)设置GCC编译器对输出执行文件是GBK编码 , 跟Windows控制台默认GBK编码保持一致 。
修改编译器对输出执行文件编码为GBK编码的具体步骤如下:
- Step1:通过执行Code::Blocks软件的菜单栏【设置】下的【编译器】子菜单项 , 进入“编译器设置”窗口 。
- Step2:点击左侧【全局编译器设置】按钮(上图标号1处) , 继续点击右侧的【编译器设置】选项卡(上图标号2处)
- Step3:再继续点击下方的【其他编译器设置】选项卡(上图标号3处)
- Step4:在下面的文本框中直接输入-fexec-charset=GBK(上图标号4处)
- Step5:点击右下角的【确定】按钮 , 完成编译器输出编码设置 。
4.3.2 解决方法二(5和7组合)修改Windows控制台编码为UTF-8编码 , 以跟GCC编译器对输出执行文件默认UTF-8编码保持一致 。
修改Windows控制台编码为UTF-8编码的具体步骤如下:
- Step1:通过快捷键Win+R , 弹出的【运行】窗口中 , 执行regedit命令 , 然后点击【确定】按钮打开“注册表编辑器”窗口 。
推荐阅读
- 龙之队|Windows10上触控板失灵的3种解决方案
- 虎扑足球|巴黎也是一样,莱昂纳多:任何俱乐部要签人都得先卖人
- M体育地带|青春风暴!意媒排出米兰U23首发阵容
- 魏翊东|罕见!京媒名嘴魏翊东怒怼国安俱乐部:瞻前顾后的,你在怕啥?
- 平地一声雷|你在怕啥?,罕见!京媒名嘴魏翊东怒怼国安俱乐部:瞻前顾后的
- 微软|硬盘满了别发愁,Windows 10小工具帮你轻松释放存储空间
- 国内赛事|最具眼光的俱乐部!IG.Y再次夺得夏季赛冠军 焕烽发文祝贺
- 维特尔维斯塔潘|青春风暴席卷F1意大利站领奖台 加斯利能跟随维特尔维斯塔潘的步伐吗?
- 操作系统|最漂亮的国产操作系统,实用性不输Windows,因收费99元被吐槽
- 青年|兰陵王:我打不过风暴龙王,凯:我勉强打得过。他:这不难很轻松
