Windows コンソールに UTF-8 文字を正しく表示する
従来の方法を使用して Windows コンソールに UTF-8 文字を表示しようとする多くの試みは失敗します。拡張文字を正しくレンダリングします。
失敗した試行:
一般的なアプローチの 1 つMultiByteTowideChar() と wprintf() を使用しても効果がなく、ASCII 文字のみが表示されることが判明しました。さらに、SetConsoleOutputCP() を使用してコンソール出力コードページを CP_UTF8 に設定し、ASCII 文字で直接書き込むと、やはり文字化けが発生します。
成功した方法:
最終的には 3 つの方法成功したことが証明されました:
失敗の理由CP_UTF8:
CP_UTF8 の根本的な問題は、コンソールがバイト ストリームを受け入れる一般的なファイルとして機能しないことから発生します。代わりに、コンソール API はデータを個別の単位で処理するため、個別の呼び出しで送信されるとマルチバイト文字が正しく解釈されません。
免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3