VS2019エンコーディングの問題、完全にUTF-8に変更する方法

序文

VS のエンコーディングの問題は常に頭痛の種であり、GBK エンコーディング方式はより使いやすいものですが、実際にはクロスプラットフォームおよびクロス開発ツールには適していません。

VS2019 + Qt5.14 環境で問題が発生しました。Qt はデフォルトで UTF-8 を使用するため、コンソールまたは Qt インターフェイスで文字化けが発生しやすくなります。

インターネット上の型にはまった手法の一部は、

#ifdef WIN32  
#pragma execution_character_set("utf-8")  
#endif

解決することはできますが、あまり良い解決策ではなく、美しくも完璧でもないので、あまり好きではありません。

それで、しばらく研究した後、より良い方法を見つけました

総合的に考えると、VS2019 では BOM エンコード付きの UTF-8 を使用する方が良いでしょう。次の解決策も BOM 付きの UTF-8 に変更します。もちろん、BOM なしの UTF-8 のみが必要な場合にも適しています。

他のテキストソフトを使用してエンコードを表示する代わりに、エンコードを簡単に観察するために、FileEncoding現在のファイルのエンコードを右下隅に表示するプラグインを事前にダウンロードしました。
ここに画像の説明を挿入します

オプション 1

プラグインをダウンロードしてエンコードの問題を解決する

Linux では with BOM が認識されないと言われており、当初は UTF-8 を試してみたかったのですが、force utf-8 プラグインを使用しても動作しなかったため、with BOM ソリューションを使用する必要がありました。

Format on Saveその後、プラグインを使用することで問題は解決しましたが工具-选项、プラグインを見つけてダウンロードした後、設定する必要があるのは 2 項目だけでしたが、最初の項目は Windows のため変更されました。
ここに画像の説明を挿入しますここに画像の説明を挿入します
新しいファイルを作成すると、右下隅に GBK でエンコードされていることがわかりますが、保存すると BOM 付きの UTF-8 になります。

オプション II

editorconfig ファイルを使用して、コード仕様を統一し、コーディングの問題を統一します。VS で直接生成できます。Visual Studio 2019 以降では、[ツール] > [オプション] > [テキスト エディター] でコード スタイル設定に基づいて EditorConfig ファイルを生成できます。
ここに画像の説明を挿入します

ここでの開発は C++ であり、コード スタイルの中に、コード スタイルの設定に基づいて生成された EditorConfig ファイルがあります。

生成後、ファイルに追加

#编码方式,有以下几种类型:latin1, utf-8, utf-8-bom, utf-16be, utf-16le
charset = utf-8-bom

保存してください。ちなみに、このファイルはプロジェクト パスに配置する必要があることを忘れないでください。

また、Qtインターフェースの文字化けに関しては、ファイルのエンコード規格を統一するだけで、上記だけでは不十分かもしれません。/utf-8Qt UTF-8 エンコード規格を統一し、Qt ターミナルと Ui インターフェイスが文字化けしないように、プロジェクト プロパティ - C/C+±コマンド ライン - その他のオプション に追加する必要があります。


2022-09-04 更新:

BOM 解決策なしで UTF-8 を使用する場合は、文字化けの原因と解決策について詳しく説明したこの記事を参照してください。

Visual Studio でのコード化けの問題を調査する

上記は私がこれまでに見つけた最良の解決策です。追加歓迎です!

EditorConfig の使用
C++ EditorConfig の書式設定規則
保存時の形式

おすすめ

転載: blog.csdn.net/no_say_you_know/article/details/121146469