Dev-C++代码无法显示出中文,运行后出现乱码。
1. 无法显示中文
Tools(工具)--Editors Options(编译器选项)--Fonts(显示)--取消勾选“<ID 27071 translation missing”--OK
确定后代码可以显示中文,但运行后依然显示乱码。
2. 运行出现乱码
Tools(工具)--Compiler Options(编译选项)--General--勾选“Add the following commands when calling the compiler”,在下面的方框内键入“-fexec-charseet=gbk”--OK
-finput-charset 指定源文件的编码
-fexec-charset 指定编译后的文件的编码集。若不指定,gcc编译器默认是UTF-8编码。
GBK编码和UTF-8编码的区别:
1)字符集范围。GBK主要支持中文字符和日韩字符,UTF-8支持全球范围内的字符。
2)编码方式。GBK采用双字节编码,每个字符占两个字节,UTF-8采用变长编码,一个字符的编码长度可为1-4个字节。
3)兼容性。GBK在国内应用广泛,但在国际应用上受到限制,UTF-8则具有更好的国际化兼容性。
4)存储空间。GBK每个字符占用两个字节,因此在存储中占用的空间较大,而UTF-8采用变长编码,可以根据字符的实际长度来分配存储空间,因此在存储中占用的空间相对较小。
键入“-finput-charset=UTF-8”编译后的结果依然是乱码,只能键入“-fexec-charset=gbk”
以下为正确输出: