- PR -

Apache error_logの文字化け

投稿者投稿内容
NA(-_-)MI
常連さん
会議室デビュー日: 2003/10/30
投稿数: 32
投稿日時: 2007-09-14 15:26
Apacheのエラーログを確認したところ日本語と思われる部分が文字化けしております。
ORACLEのエラーの部分だけなのですが、どこか文字コードの指定箇所があるのでしょうか?

環境:RedHatEnterpriseLinux v4 update2
10gリリース2(10.2)

error_log抜粋

[Thu Sep 13 16:48:20 2007] [error] [client 10.23.xx.xxx] DBI connect('debitdb','debit',...) failed: ORA-28547: \\xa5\\xb5\\xa1\\xbc\\xa5\\xd0\\xa1\\xbc\\xa4\\xd8\\xa4\\xce\\xc0\\xdc\\xc2\\xb3\\xa4\\xac\\xbc\\xba\\xc7\\xd4\\xa4\\xb7\\xa4\\xde\\xa4\\xb7\\xa4\\xbf\\xa1\\xa3Oracle Net\\xb4\\xc9\\xcd\\xfd\\xa5\\xa8\\xa5\\xe9\\xa1\\xbc\\xa4\\xce\\xb2\\xc4\\xc7\\xbd\\xc0\\xad\\xa4\\xac\\xa4\\xa2\\xa4\\xea\\xa4\\xde\\xa4\\xb9 (DBD ERROR: OCISessionBegin) at /data/xxxx/src/cgi-include/user/DBAccess.pm line 19, referer: http://10.23.xx.xxx/xxxx/cgi-bin/pwdchg1.cgi

確認した文字コード
OS : /etc/sysconfig/i18n
⇒ LANG="ja_JP.UTF-8"

ORACLE :NLS_CHARACTERSET
   ⇒ AL32UTF8

確認ポイントなど分かる方いらっしゃいましたら
お願いいたします。
未記入
会議室デビュー日: 2007/08/28
投稿数: 8
投稿日時: 2007-09-14 15:55
どうやら、以下の文言が出力されているだけのようですけど。

「サーバーへの接続が失敗しました。Oracle Net管理エラーの可能性があります」

※文字コードは EUC。文字コードで出力されているだけです。
 perl をご使用みたいなので、単純なスクリプトで確認なされば、よろしいかと。
 Ex. ) print "\xa5\xb5";


[ メッセージ編集済み 編集者: 未記入 編集日時 2007-09-14 16:07 ]
NA(-_-)MI
常連さん
会議室デビュー日: 2003/10/30
投稿数: 32
投稿日時: 2007-09-14 16:08
回答有難うございます。

エラー内容よりも、文字化けせずに表示させることが目的です。
すいませんが、他に何かあればよろしくお願いします。
未記入
会議室デビュー日: 2007/08/28
投稿数: 8
投稿日時: 2007-09-14 16:32
では、以下の環境変数を Apache に設定するのは、如何でしょうか?
「NLS_LANG」

朧げですが、perl だと、起動スクリプトに設定すれば、有効になった様な。
=>念のため、SetEnv ディレクティブでも設定していた様な気もしますけど……。


[ メッセージ編集済み 編集者: 未記入 編集日時 2007-09-14 17:52 ]
NA(-_-)MI
常連さん
会議室デビュー日: 2003/10/30
投稿数: 32
投稿日時: 2007-09-14 18:00
/etc/httpd/conf/httpd.confに以下を記述しました。

SetEnv LANG ja_JP.UTF-8
SetEnv NLS_LANG JAPANESE_JAPAN.JA32UTF8


問題の箇所は解決しましたが、
肝心のアプリが化けました。

全体的に見直します。ありがとうございました。
あんとれ
ぬし
会議室デビュー日: 2004/01/14
投稿数: 556
投稿日時: 2007-09-15 14:39
引用:

NA(-_-)MIさんの書き込み (2007-09-14 18:00) より:
/etc/httpd/conf/httpd.confに以下を記述しました。

SetEnv LANG ja_JP.UTF-8
SetEnv NLS_LANG JAPANESE_JAPAN.JA32UTF8


問題の箇所は解決しましたが、
肝心のアプリが化けました。

全体的に見直します。ありがとうございました。



一層のこと、オラクルが返すメッセージを英語にすればよいのでは?

SetEnv NLS_LANG American_Japan.AL32UTF8

ちなみに、NLS_LANG の値として「JA32UTF8」は不適切です。
正しくは「AL32UTF8」です。
NA(-_-)MI
常連さん
会議室デビュー日: 2003/10/30
投稿数: 32
投稿日時: 2007-09-16 15:22
あんとれさん
回答ありがとうございます。

なるほど、英語にしてしまえば化けないですね。
そちらの線でも試してみます。

JA32UTF8は誤記です。AL32UTF8ですね。失礼しました。
OakBow
ベテラン
会議室デビュー日: 2007/09/15
投稿数: 51
投稿日時: 2007-09-16 15:36
>なるほど、英語にしてしまえば化けないですね。

ちなみに、適切にエスケープされてるだけで別に文字化けは発生していない
と思うんですけどね。。。

スキルアップ/キャリアアップ(JOB@IT)