3

Perl を使用して、データベース AS/400 DB2 からテーブルをインポートしました。

問題は、文字列が EBCDIC Latin-1 (イタリア語) でエンコードされていることです。

結果のファイルをLinux bashでプレーンなutf-8に変換するにはどうすればよいですか?

4

3 に答える 3

5

皮切りに

iconv -f EBCDIC-IT -t utf-8 <filename>

次に、出力を確認し、正確に正しくない場合は、 にman iconvリストされている使用可能なエンコーディングを確認しますiconv -l

(「EBCDIC Latin-1」はやや奇妙であることに注意してください。「Latin-1」は ISO-8859-1 を示しますが、「EBCDIC」はまったく別のものです。file <filename>実際にどのエンコーディングを使用しているかについて、コンピューターで知識に基づいた推測を取得してみてください。見つめている。)

于 2016-04-08T09:25:01.653 に答える
1

で簡単iconvです。

iconv -f ISO8859-1   -t "UTF-8" result.csv -o new_result.csv

ISO8859-1 は、Latin-1 エンコード形式です。エンコーディングのリストについては、公式の IBM 文書から次の表を参照してください。

変換により、EBCDIC からの無効な UTF-8 文字が残る可能性があることに注意してください。例として、文字列内の NULL 文字があります。これを回避するには、HEX エディタを使用して、16 進数値を 00 から 20 (スペース文字) に置き換えます。

于 2016-04-08T09:26:57.593 に答える