• 締切済み

oracleの文字コードとlinuxサーバの文字コードが異なる場合、サ

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

みんなの回答

  • jeee
  • ベストアンサー率52% (119/227)
回答No.2

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

参考URL:
http://www.proton.jp/main/apps/nkf.html
hipokin
質問者

お礼

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

  • t-okura
  • ベストアンサー率75% (253/335)
回答No.1

export NLS_LANG=Japanese_Japan.AL32UTF8 sqlplus でよいのでは。 これじゃうまくいかないのかな。

hipokin
質問者

お礼

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

関連するQ&A