質問: SJISで書かれたものをxmlファイルへ書き出すというバッチファイルを作っています。 SJISに取り込みをしてXMLファイルで確認すると日本語表記が文字化けしたり、文字がないというエラーが発生します。 例 SJIS(例AAA.TXT) ``` 1,パンダ 2,羊 ・・・ ``` XML(AAAXML) ```
回答: バッチファイルの実行環境(CMD.EXEとその関連のWindows標準コマンド)では、1行のコマンド/スクリプトの中で入力ファイル文字コード、作業変数、出力ファイル文字コードを別々に指定して、しかもそれをUTF-8にすることはまず出来ないでしょう。 以下のいずれか、あるいはそのバリエーションで対処するのが良いと思われます。 * XMLファイルにするまでの処理は、いったんすべてシフトJISで行い、その後 nkf, iconv, その他何かのスクリプトやコマンドでUTF-8に変換する * PowerShellやPython等の、入力文字コード/出力文字コードを別々に指定できるスクリプトツールやコマンドで処理を構築する