fileコマンドに従ってファイルをutf-8に変換します。

fileコマンドに従ってファイルをutf-8に変換します。

ファイルを読み込み、sqlldrを使用してデータをデータベースにアップロードするアップロードプロセスがあります。 sqlldrがファイルを処理している間に無効な数字の問題があります。ファイルがUTF-16にあることを確認し、メモ帳++からUTF-8に変換すると正常に動作し始めました。さて、以下のように体系的に変換してみたいと思います。

iconv -f UTF-16 -t UTF-8 file_name >output_file_name

ファイルのエンコーディングが異なる場合があるので、変換する前にファイルのエンコーディングを参照して、そのエンコーディングに基づいて変換したいと思います。たとえば、fileコマンドを使用して以下からUTF-16のみを読み込み、-fオプションと一緒に使用します。

bash-4.2$ file "/FILE_UPLOADS/Relationship (4).txt"
/FILE_UPLOADS/Relationship (4).txt: Little-endian UTF-16 Unicode text, with CRLF line terminators

どうすればいいですか?

ベストアンサー1

vimex一部のファイルエンコーディングを自動的に検出してUTF-8に変換できるため、次のモードでファイル処理を試すことができます。

vim --clean -E -s -c 'argdo set fileencoding=utf-8 nobomb | update' -c q -- *.txt

updateまた、このプロセス中に変更されたファイルのみを再作成します。

おすすめ記事