

SJISで書かれたものをxmlファイルへ書き出すというバッチファイルを作っています。

SJISに取り込みをしてXMLファイルで確認すると日本語表記が文字化けしたり、文字がないというエラーが発生します。

例  
SJIS（例AAA.TXT）

[code]

    1,パンダ
    2,羊
    ・・・
    
[/code]

XML（AAAXML）

[code]

    <?xml version="1.0" encoding="UTF-8"?> 
    <Code Code="1"  content=" 
    
[/code]

となります。

おそらくファイル中にutf-8が入っているのにもかかわらず  
SJISを使っているのでIE等でみると文字がなくなってしまうのかと思われますが  
SJISを取り込みはSJISでも保存するときに、UTF-8に変換して保存できないでしょうか？  
よろしくお願いいたします。

簡単な取り込み文は  
for /f %%a in (AAA.TXT) do ( ECHO %%a>>AAA.XML ) です。


CC BY-SA 4.0
2020-06-29T04:48:56.093
68097
2021-10-04T20:07:15.707
2020-06-29T05:34:32.580
31311
31311
question
batch-file
バッチファイル読み込み時、出力ファイルが文字化けする


バッチファイルの実行環境(CMD.EXEとその関連のWindows標準コマンド)では、1行のコマンド/スクリプトの中で入力ファイル文字コード、作業変数、出力ファイル文字コードを別々に指定して、しかもそれをUTF-8にすることはまず出来ないでしょう。

以下のいずれか、あるいはそのバリエーションで対処するのが良いと思われます。

  * XMLファイルにするまでの処理は、いったんすべてシフトJISで行い、その後 nkf, iconv, その他何かのスクリプトやコマンドでUTF-8に変換する
  * PowerShellやPython等の、入力文字コード/出力文字コードを別々に指定できるスクリプトツールやコマンドで処理を構築する


CC BY-SA 4.0
2020-06-29T11:09:51.817
68112
2020-06-29T11:09:51.817
26370
68097
answer