[PHP-users 217] 文字化けして検索結果がでない

S.Kobara/古原慎一 php-users@php.gr.jp
Fri, 22 Jun 2001 18:21:32 +0900


はじめまして。古原(こばら)と申します。

最初に問題からいいますと、
筆自慢で作成した名刺情報を筆自慢のオプションでcsvファイルにおとしてwin98
でMSAccess97からODBC経由でPostgresにデータをエクスポートしました(ODBC
ドライバは7.0の日本語版を使用)。Accessからテーブルリンクで見ますとデー
タは文字化けしていません。
それから氏名とe-mailを元に検索するページを作成しました。
氏名欄に「古原」と入力して検索を実行させるんですが、人によって結果がでて
こないのです。たとえば「西森」と入力しても文字化けしてるようで拾ってこないのです。
というのも
telnetで直接、下のSQL分を入力すると
select shimei from meishi where shimei like '西森%’
この結果は問題なく表示されます。
#このためPostgresは問題ないとおもえるのですが・・

しかし、
printf 【%s】
でHTML上に表示させるようにした結果をみてみますと、人によって文字化け
をしています。
西森は
select shimei from meishi where shimei like 'タセソケ%’
タセソケは半角です。

要するに「古原」で入力したらその文字列で検索しその結果が表示。
「西森」を入力しその文字列で検索しようとしても、半角「タセソケ」で検索し
ているため表示されず。

これで拾ってこないのがわかるのですが、なぜ人によってこのような現象が起き
るのかわからず手の打ちようがありません。


現在以下の環境でシステムを構築しています。
----------------------------
VineLinex2.1
Apache1.3.20
Postgres7.1.1(ソースをダウンロードして、オプションは
--enable-multibyte=EUC_JP
としてインストール)
PHP-3.0.18-i18n-ja-2(ソースをダウンロードし、オプションは
--with-apxs=(略) --with-xml --with-pgsql=(略) --enable-versioning
--enable-i18n --enable-mbregex
としてインストール)
-----------------------------
php3.iniの設定は
i18n.http_output=PASS
i18n.internal_encoding=EUC-JP
i18n.script_encoding=auto
i18n.http_input=auto
i18n.http_input_default=SJIS
----------------------------------

PHP3ファイルの作成はEUCで行っています。


どうかご指導お願いいたします。