こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

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

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

投稿日時 - 2010-05-30 15:35:38

QNo.5932618

すぐに回答ほしいです

このQ&Aは役に立ちましたか?

6人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.2

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

参考URL:http://www.proton.jp/main/apps/nkf.html

投稿日時 - 2010-05-30 20:35:22

お礼

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

投稿日時 - 2010-06-01 06:18:08

ANo.1

export NLS_LANG=Japanese_Japan.AL32UTF8
sqlplus

でよいのでは。

これじゃうまくいかないのかな。

投稿日時 - 2010-05-30 18:11:16

お礼

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

投稿日時 - 2010-06-01 06:12:11

あなたにオススメの質問