From 4952d6e376a336b912cf7283c5b9deffa5f2cd2a Mon Sep 17 00:00:00 2001 From: taynpg Date: Thu, 18 Jul 2024 00:39:47 +0800 Subject: [PATCH] =?UTF-8?q?cpp=E7=BC=96=E7=A0=81=E7=8E=AF=E5=A2=83?= =?UTF-8?q?=E7=9B=B8=E5=85=B3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- cpp_codec.md | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) 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 | 测试环境 | 源码编码 | 输出编码 | 控制台编码/是否乱码 | 调试器是否乱码 | | ------ | ------ | ------------ | --------- | -------- | -------- | ------------------- | -------------- |