[PHP-users 2135] SJIS->EUC bug ?

Yoshio Funaki php-users@php.gr.jp
Tue, 18 Sep 2001 14:45:57 +0900


いつもお世話になっております。船木@秋田県立図書館です。
環境は、FreeBSD4.2+PHP4.0.6+apache1.3.20+PostgreSQL7.1.2です。
PHPはmbstring付きです。

で、当館で運用しておりますWeb蔵書検索において、書名に
「箱」(EUC:C8A2) 、「柊」(EUC:C9A2)、「國」(EUC:D4A2)を
指定しますと、pg_execが正常終了しないと言う現象が起きています。
# ごらんの通り、2バイト目がA2のヤツがおかしい。

で、PHPでダイナミックにSQLをはかせているのですが、debugしてみると
案の定、SQLが文字化けしておりました。
browserはNN6.1,IE5.0,NN4.73で確認しています。

関係すると思われるphp.iniの設定は以下のようになっています。

; for japanese encoding
;jstring.default_encoding = EUC_JP <= for 4.0.5 or under
; for 4.0.6 or higher
; for auto translate,disable buffering
output_buffering = Off
default_charset = EUC-JP
;
mbstring.internal_encoding = EUC-JP
mbstring.http_input = auto
mbstring.http_output = EUC-JP
;
mbstring.substitute_character = none

関係あるかなぁと思いまして、magic_quotes_gpcのon,offを切り替え
「箱」で試してみましたが、on,offで化けた文字は違うものの
「文字化けする」と言う事実は変わりません。

なにか解決のヒントでもよろしいのですが、ご教示いただけませんでしょうか。
よろしくお願いいたします。

秋田県立図書館 船木 喜夫 yoshio@apl.pref.akita.jp

----
Yoshio Funaki  yoshio@apl.pref.akita.jp