プロが教える店舗&オフィスのセキュリティ対策術

oracleの文字コードとlinuxサーバの文字コードが異なる場合、サーバからシェルまたはsqlplusでDBに接続し、spoolコマンドで指定したファイルに、SQLの実行結果や、PLSQLのDNMS_OUTPUTで出力した内容を保存すると文字化けしてしまいます。
これを回避するにはどうすればよいのか、ご教授下さい。
具体的な環境は、下記の通りです。
oracles:SJIS(NLS-LANGはSJIS系にしています)
サーバUTF8
出来ればUTF8でファイルに出力したいのですが、無理なら最低でもSJISで出力させたいです。現在は、ftpでバイナリーダウンロードさせて秀丸などのエディターで見ても、どちらとも認識できない文字コードになっているようです。
なお、お客様側のサーバなので、DBやOSの文字コードを変えることはできません。

A 回答 (2件)

spoolコマンドで指定したファイルをnkfコマンドで変換する。



参考URL:http://www.proton.jp/main/apps/nkf.html
    • good
    • 0
この回答へのお礼

ご回答あありがとうございました、こちらの環境では、残念ながらnkfは使用できないようでした、
※お客様のサーバなので、インストールも自由にできないようでした、
でも、いろいろと参考になりましたので、また別の機会に参考にさせていただきたいと思います。

お礼日時:2010/06/01 06:18

export NLS_LANG=Japanese_Japan.AL32UTF8


sqlplus

でよいのでは。

これじゃうまくいかないのかな。
    • good
    • 2
この回答へのお礼

この方法で上手くいきました、ありがとうございました。
NLS LANGはDB側の文字コードと一致していなければならないのかと思っていました。

お礼日時:2010/06/01 06:12

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A