2017-05-11 11 views
1

私はシェルスクリプトでファイル内のクエリの内容を抽出する簡単なコマンドを実行しています。slqplusで抽出されたクエリのエンコーディングを変更します

sqlplus -s /@P2AX <<EXIT> /temporary/test.csv 
alter session set NLS_DATE_FORMAT = 'yyyy-mm-dd HH24:mi:ss'; 
select * 
from japhonie.ad_contacts 
where con_id = 3720; 
EXIT 

問題は、私のベースに日本語の文字が含まれていることです。 dbの現在のエンコーディングはSJIS(日本語の古典的なエンコーディング)です。だから私の出力ファイル/temporary/test.csvも自動的にSJISに入ります。しかし、私はUTF-8にしたいと思います。私のシェルスクリプトに追加して、UTF-8で自分のクエリの内容を直接抽出できるコマンドはありますか?それとも抽出しなければならないのですか?

+0

おそらく、ファイルが生成された後、いくつかのコンバータを実行する方が簡単です... – Plirkee

答えて

1

mojibakeを使わずにファイルを解凍した場合は、/temporary/test.csvをUTF-8に変換する方が良いと思います。

Linux環境では、次のコマンドを実行すると役立ちます。

iconv -f Shift-JIS -t UTF8 /temporary/test.csv > /temporary/test.csv.utf8 
関連する問題