[PHP-users 21462]OracleDB接続時の文字化けについて。
Kengo Yamaguchi
mkengo @ wism-mutoh.co.jp
2004年 4月 22日 (木) 15:38:56 JST
いつも勉強させていただいております。山口@札幌 と申します。
RedHat8.0 + Apache 2.0.40 + PHP4.2.2 の環境から、
Oracle9i のデータベースにSQLを投げて、
結果を表示するCGIツールを作ったのですが、
WHERE句に日本語が入ると正しくマッチングしません。
確認のため、日本語データを同じツールでテーブルにINSERTしてみると、
データベースには以下のように化けたデータが格納されました。
「あいうえお」→「$"$$$&$($*」
「アイウエオ」→「%"%$%&%(%*」
規則性のありそうな化け方なので、文字コードの問題だろうと思い、
いろいろとコード変換を試してみたのですが、
思い通りのデータとしてINSERTすることができません。
何か手がかりのようなものでも構いませんので、
解決に向けてのお知恵をお貸し頂ければ嬉しいです。
関係のありそうなphp.ini の設定を、以下に列記しておきます。
その他必要な確認事項がありましたら、ご指摘ください。
[mbstring]
output_buffering = On
output_handler = mb_output_handler
mbstring.language = Japanese
mbstring.internal_encoding = EUC-JP
mbstring.http_input = auto
mbstring.http_output = SJIS
mbstring.encoding_translation = On
mbstring.detect_order = auto
mbstring.substitute_character = none;
mbstring.func_overload = 0
mbstring.script_encoding = auto
# スクリプトの最初に、
# putenv(NLS_LANG=JAPANESE_JAPAN.JA16EUC);
# で、環境変数を設定しています。
ではでは。
◆◇◆ 山口 謙吾 --- <mkengo @ wism-mutoh.co.jp>
PHP-users メーリングリストの案内