diff --git a/cpp_codec.md b/cpp_codec.md index 4e5088a..86a45ec 100644 --- a/cpp_codec.md +++ b/cpp_codec.md @@ -1,6 +1,12 @@ -# std::string -以下结果如果是`MSVC`均为使用`/source-charset:utf-8`的条件下。 + +# 测试C++字符串在GBK环境下的乱码情况 + +当然可以将终端编码类型改为`UTF-8`来实现通用情况,但是更多的情况下,`windows`终端因为各种原因只能使用`GBK`的环境不能更改他的编码,因此有此测试,当然测试也可能包含输出不为`GBK`的情况用于参考或者记录。 + +**注:**源码编码统一为`UTF-8`,如果是`MSVC`均为使用`/source-charset:utf-8`实现输出为`GBK`。 + +## std::string | 可用性 | 编译器 | 是否使用了u8 | 测试环境 | 源码编码 | 输出编码 | 控制台编码/是否乱码 | 调试器是否乱码 | | ------ | ------- | ------------ | --------- | -------- | -------- | ------------------- | ------------------------ | @@ -11,9 +17,9 @@ | | MSVC | 是 | QtCreator | UTF-8 | GBK | GBK,乱码 | 正常 | | | MSVC | 否 | QtCreator | UTF-8 | GBK | GBK,正常 | 乱码 | -# QString +## QString -以下结果如果是`MSVC`均为使用`/source-charset:utf-8`的条件下,`Qt6`删除库配置中的`-utf-8`选项才行。 +`Qt6`删除库配置中的`-utf-8`选项才行,否则输出为`UTF-8`。 | 可用性 | 编译器 | 是否使用了u8 | 测试环境 | 源码编码 | 输出编码 | 控制台编码/是否乱码 | 调试器是否乱码 | | ------ | ------ | ------------ | --------- | -------- | -------- | ------------------- | -------------- |