web-dev-qa-db-ja.com

シェルでのANSIからUTF-8への変換

パーサー(1 csv〜3 csv)スクリプトを作成していますが、問題があります。私はフランス語ですので、私の言語では次のような文字があります:é è à ....

Linuxが "unknown-8bit"と認識しているcsvファイルが顧客から送られてきました(おそらく私は推測します)。

私のスクリプトでは、3つの新しいcsvファイルを作成しています。しかし、ViMはエントリで取得したものに近いため、それらをISO latin1として作成しますが、私のé,è,à...は壊れています。 UTF-8が必要です。

だから私は最初のANSI csvをUTF-8に変換しようとしました:

iconv -f "windows-1252" -t "UTF-8" import.csv -o import.csv

問題は、CSVが壊れることです。現在は1行だけです。しかし、私の特別な文字は大丈夫です。 ANSIをUTF-8に変換して行を保持する方法はありますか?

11
Neringan

出力を別のファイルに入れます。古いものを上書きしないでください。

iconv -f "windows-1252" -t "UTF-8" import.csv -o new_import.csv

iconvは、同じファイルを読み書きするときに失敗します。

28
Grzegorz Żur