Windows で自動化を行っていて、さまざまなコマンド (内部または外部) の出力をリダイレクトしている場合cmd.exe
、ログ ファイルに Unicode と ANSI の出力が組み合わされていることがわかります (つまり、それらは無効であり、ビューアー/エディターでうまく読み込まれません)。 )。
cmd.exe を UTF-8 で動作させることは可能ですか? この質問はディスプレイに関するものではなく、stdin/stdout/stderr リダイレクトと Unicode に関するものです。
次のことができるソリューションを探しています。
- UTF-8 を使用して、内部コマンドの出力をファイルにリダイレクトします
- Unicode をサポートしているが UTF-8 としてエンコードされているファイルに外部コマンドの出力をリダイレクトします。
バッチ ファイルを使用してこの種の一貫性を得ることが不可能な場合、Python スクリプトを使用するなど、この問題を解決する別の方法はありますか? この場合、Unicode 検出を単独で実行できるかどうかを知りたいです (スクリプトを使用するユーザーは、呼び出されたツールが Unicode を出力するかどうかを覚えておくべきではありません。出力が UTF-8 に変換されることを期待するだけです。
簡単にするために、ツールの出力が Unicode でない場合は、UTF-8 (コードページ変換なし) と見なされると仮定します。