代码中文乱码编译为什么会报错
你写的这个test类,要注意书写规范,一般类名首字是大写的,Test 更合适
不用更改文件的编码,默认就成
这样编译:
javac-encodingutf-8test.java
‘贰’ c++中编译时出现乱码的原因可能有哪些
这是因为编译器不支持。以下为几种常用的编译器
c++编译器是一个与标准化C++高度兼容的编译环境。这点对于编译可移植的代码十分重要。编译器对不同的CPU会进行不同的优化。
常见的C++编译器有如下几种:
GNU C++
g++是一个开源的C++编译器,GCC3.3对标准化C++的支持达96.15%。
值得一提的是,gcc是gnu c的编译器, g++是gnu c++的编译器, 而egcs(Enhanced GNU Compiler Suite)可以认为是gcc的改进版。目前gcc已经改名,从原来代表GNU C Compiler改变为代表GNU Compiler Collection。而MinGW或Cgywin,是在windows平台上的gnu c/c++编译器,以及库文件,运行环境的集合。
Borland C++
该编译以速度快、空间效率高而着称。它的5.5版本对标准化C++的支持达92.73%,而官方称100%符合ANSI/ISO的C++标准和C99标准。
它是Borland公司开发的,是Borland C++ Builder和Borland C++ Builder X这两种IDE的后台编译器。
Visual C++
VC++6.0对标准化C++的兼容仅达83.43%。
它是Visual Studio、Visual Studio.net 2002、Visual Studio.net 2003、Visual Studio.net 2005的后台C++编译器。随着Stanley Lippman等编译器设计大师的加盟,它变得非常成熟可靠了。Visual C++
‘叁’ 出现中文符号时,编译错误信息显示什么
Copyright © 1999-2020, CSDN.NET, All Rights Reserved
打开APP
System_sleep
关注
VS2019代码中包含中文内容导致的编译错误和打印输出乱码问题 原创
2022-06-25 17:45:47
2点赞
System_sleep
码龄11年
关注
前言
在VS2019中,如果代码中包含中文字符串定义或注释,会导致各种莫名其妙的编译错误,就算是运气好,编译没有报错,也会遇到控制台打印中文乱码的问题,让人倍感烦躁。
编译问题
1. 代码中定义了中文字符串常量导致编译错误:“常量中有换行符“ ;
2. 代码中包含中文注释导致编译错误:找不到XXX (宏、变量)、XXX不是常量/变量及由于找不到声明导致的其他问题;
打印乱码问题
代码打印中文字符串,在命令提示符输出是乱码;
解决方法,三种方法任选其一:
一. 修改代码文件格式为utf-8带签名,让MSVC编译器能够自动识别并以utf-8 BOM格式加载文件:
使用外部编辑器将代码文件保存为utf8-BOM格式;
或 打开代码文件,在VS2019 “高级保存选项” 中将代码文件保存格式选择为“Unicode-带签名“;
二. 修改代码格式:
修改中文字符串、中文注释的格式,在中文结尾处添加英文空格,让MSVC编译器能够以GBK编码方式加载编译中文utf-8编码字符串,可以解决编译报错问题,打印还是乱码;
三. 强制指定MSVC编译器加载代码文件的编码格式:
在VS2019“项目”-“工程属性”对话框-“C/C++”-“所有选项"子页,在“附加选项”内添加 “/utf-8” (等同于”/source-charset:utf-8 /execution-charset:utf-8");
在VS2019“项目”-“工程属性”对话框-“C/C++”-"所有选项"子页,在“附加选项”内添加 “/source-charset:utf-8 /execution-charset:gbk” (前者表示文件本身的编码,后者表示编译以后的字符数组内的字节是什么编码);
总结:
1. 如果是新建工程,推荐方法一,让所有新建代码文件都统一为utf-8 BOM 格式;
2. 如果是跨平台代码,且文件包含少量中文注释,可以尝试方法二;
3. 如果是已有的历史复杂工程(非使用工具导出的解决方案),可以尝试方法三, 但需要注意设置execution-charset时,要同时考虑到UI显示和打印二者对字符串编码的要求(可能不一致);
‘肆’ latex 中文编译出错 中文显示乱码
不知道你的编辑器配置情况,只能胡乱猜测:有可能你的编辑器采用的中文编码是
UTF8,而
CJK
则指定中文编码是
GBK,这就不一致了。这种情况会导致中文编译出现问题。
改法就是使二者一致:或者让你的编辑器采用
GBK
编码,或者让编辑器采用
UTF8
编码,而把
LaTeX
文件中的
\begin{CJK*}{GBK}{song}
改为
\begin{CJK*}{UTF8}{gbsn}
之类的.
‘伍’ VC++缂栬疟钖庡嚭鐜颁腑鏂囦贡镰佽В鍐虫柟妗
鐢变簬缁忓父鍦ㄧ绣涓娄笅杞戒唬镰侊纴鍙堜竴娆′笅杞界殑浠g爜鐢╒C6.0缂栬疟钖庡嚭鐜颁贡镰(璧勬簮鏂囦欢)鎼灭储鍑轰竴涓嬭В鍐虫柟妗:
鏂规硶1: 杩欎釜闂棰樻槸锲犱负璇瑷璁剧疆涓嶆g‘銆傚傛灉𨱍冲湪AppWizard鐢熸垚镄勫伐绋嬫枃浠朵腑浣跨敤涓鏂囷纴鍦ㄥ湪MFC AppWizard镄勭1姝ヤ腑阃夋嫨涓鏂囱祫婧愶纴阃夋嫨Chinese(P.R.C)锛屽傛灉浣犲湪璇瑷鍒楄〃涓娌℃湁镓惧埌链夊叧涓鏂囩殑阃夐”锛岃存槑浣犵殑VC++镄勪腑鏂囨敮鎸佹ā鍧楁病链夊畨瑁呫傛ゆ椂锛屽簲阃鍑笃C++锛屽湪VC++镄勫厜鐩樼殑DevStudioSharedIDEBinIDE鐩褰曚笅镓惧埌APPWZCHS.DLL鏂囦欢锛屽皢鍏舵嫹璐濆埌纭鐩樼殑DevStudioSharedIDEBinIDE鐩褰曚笅鍗冲彲锛屽啀钖锷╒C++锛屽氨鍙浠ョ湅鍒拌繖涓阃夐”浜嗐备娇鐢ㄨ繖涓阃夐”鐢熸垚镄勫伐绋嬫枃浠朵腑镄勬墍链夎祫婧愰兘鏄涓鏂囩殑銆俈C++杩樻彁渚涗简绻佷綋涓鏂(APPWZCHT.DLL)銆佹棩鏂(APPWZJPN.DLL)鍜岄烦鏂(APPWZKOR.DLL)镄勬敮鎸佹ā鍧椼
鏂规硶1: 濡傛灉浣犵殑宸ョ▼涓镄勮彍鍗曘佸硅瘽妗嗐佸瓧绗︿覆绛夎祫婧愪笉鏄鐢盇ppWizard鐢熸垚镄勶纴钥屾槸镓嫔伐娣诲姞镄勶纴浣犲繀椤讳缭璇佽ヨ祫婧愮殑Language阃夐”涓篊hinese(P.R.C)銆傚叿浣撶殑锅氭硶鏄鍦ㄨ祫婧愬垪琛ㄤ腑阃夋嫨璧勬簮锛岀劧钖庡湪蹇鎹疯彍鍗曚腑阃夋嫨Properties锛屽湪璇濇嗕腑璁剧疆Language涓嬫媺妗嗐傚傛灉鍦↙anguage涓阃夋嫨English锛屽敖绠″湪闆嗘垚鐜澧冧腑鍙浠ユe父鏄剧ず涓鏂囷纴浣嗙紪璇戝悗灏卞彉鎴愪简璇稿"___.???"涔嬬被镄勪贡镰佷简銆
鏂规硶1: 链変竴涓瑙e喅鏂规堜笉蹇呬粠澶翠綔璧凤细镓惧埌rc鏂囦欢锛堣祫婧愭枃浠讹级锛屾妸鍏朵腑LANGUAGE 9, 1镄勫湴鏂规敼涓4,2锛沜odepage(1252)鏀逛负codepage锛936锛夛绂鍙﹀栨妸#include "afxres.rc" 鏀规垚#include "l.chsafxres.rc"锛涙妸"afxres.rc" 鏀规垚"l.chs\afxres.rc"鍗冲彲锛屽叾涓镄勬暟鎹镙规嵁涓嶅悓鏂囧瓧浠g爜鍙鑳戒笉钖屻
链浜哄皾璇曚简镄勶纴鏂规硶3鏄闱炲父链夋晥镄勶纴涓昏乺c鏂囦欢鍙浠ョ敤txt镓揿紑锛岃繖镙峰氨鍙浠ョ洿鎺ヤ慨鏀广傛垜鏄杩欎箞澶勭悊镄勶纴锻靛懙
‘陆’ c语言编译运行乱码是什么原因
这种情况多数是由于操作系统的语言选项不正确引起的。建议你查看一下控制面板中的区域和语言选项,特别是有关“非Unicode程序的语言”,一定要选择成“中文(简体,中国)”。然后重启电脑。