プロが教えるわが家の防犯対策術!

日次バッチで出力後のCSVファイルについて、文字コードをUTF-8(BOMなし)に変換したいのですが、
出力内容に日本語が含まれない場合、以下のコマンドだけでは変換できないようです。

<現状使用しているコマンド>
start /min /wait cmd /c chcp 65001 ^& cmd /c type c:\hoge\hoge_uni.csv > c:\hoge\hoge.csv
del /Q c:\hoge\hoge_uni.csv

お客様に相談したところ、ファイル出力の際に日本語を追加して
文字コード変換後に日本語を削除できないか、とのことでしたが
当方がコマンドに詳しくなく、解決策がありましたらご教授頂けないでしょうか?

A 回答 (4件)

Unicode のコードポイント 0~127 は ASCII と全く同じ文字をコードし, かつ UTF-8 はその範囲のコードポイントをその値そのものの 1バイトで表しますから, #1 でいわれているように「いわゆるASCIIのみ」であれば BOM なしの UTF-8 と全く同じになります. つまり「変換」してもなにも変化しません.



「変換後にSJISファイルになっていて」というのはどうやって確かめているんでしょうか?
    • good
    • 2
この回答へのお礼

コメントありがとうございます。

>「変換後にSJISファイルになっていて」というのはどうやって確かめているんでしょうか?

サクラエディタで開き
右下に表示される文字コードを確認していました。

丁寧なご説明ありがとうございます。納得です。
お客様に納得して頂ければ、今のままでリリースできるかもしれません
本当に助かりました、ありがとうございました!

お礼日時:2016/08/27 08:36

たぶん文字コード自動判定に掛けてShift_JISと出たということでしょうね。


問題無いです。
ASCII文字しか含まないファイルはBOM無しUTF-8でもありShift_JISでもあるので、判定はそうなっておかしくありません。
    • good
    • 0
この回答へのお礼

コメントありがとうございます。
文字コード上全く同じ状態ということなのですね。

ご指摘のとおり、今のままで問題なさそうです
ご助力ありがとうございました。

お礼日時:2016/08/27 08:39

>出力内容が英数字のみの場合という意味です。



いわゆるASCIIのみ…ってことでしょうかね?
だったら、ASCIIのみのファイルとBOMなしUTF-8のファイルって同一のような気がしますけど。
    • good
    • 0
この回答へのお礼

コメントありがとうございます。

>だったら、ASCIIのみのファイルとBOMなしUTF-8のファイルって同一のような気がしますけど。

自分の理解度が足りず非常に申し訳ないのですが
同一とはどういうことなのでしょうか?

現状は変換後にSJISファイルになっていて
お客様からは、UTF-8形式での出力を求められています。

お礼日時:2016/08/26 16:00

可能なら「日次バッチ」で CSV を出力する時点で文字コードを UTF-8(BOMなし)にするのが正解だとは思うけど....



確認ですが「出力内容に日本語が含まれない場合」というのは, 例えば「日本語は含まれないけど中国語が含まれる」とかいうことでしょうか?
    • good
    • 0
この回答へのお礼

コメントありがとうございます。

>確認ですが「出力内容に日本語が含まれない場合」というのは, 例えば「日>本語は含まれないけど中国語が含まれる」とかいうことでしょうか?

申し訳ありません、記載が曖昧でした。
出力内容が英数字のみの場合という意味です。

お礼日時:2016/08/26 14:59

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A