ファイルを読み込み、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
vim
ex
一部のファイルエンコーディングを自動的に検出してUTF-8に変換できるため、次のモードでファイル処理を試すことができます。
vim --clean -E -s -c 'argdo set fileencoding=utf-8 nobomb | update' -c q -- *.txt
update
また、このプロセス中に変更されたファイルのみを再作成します。