• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Postgresで検索キー以外の値がヒットする。)

Postgresで検索キー以外の値がヒットする

このQ&Aのポイント
  • Postgresで検索キー以外の値がヒットすることに関する問題が発生しています。
  • 環境は、Fedora Core1, PHP4.3.3-6, Apache 2.0.47, Postgres 7.3.4-2です。
  • Turbo Linux8からこの環境に移行していますが、フォームから送った検索キーで目的通りのレコードが作成されなくなりました。

質問者が選んだベストアンサー

  • ベストアンサー
  • proust
  • ベストアンサー率57% (62/108)
回答No.2

Fedoraって日本語のデフォルトの文字コードが UTF-8ですよね。 ということはApacheも、rpmで入れていると、 デフォルトでは httpd.confに AddDefaultCharset UTF-8 になってたりしないでしょうか。(先頭に#を入れてみるとか) ほかにもDBの文字コードも気になりますね。 素人といいつつ色々書いてすみません

参考URL:
http://fumika.jp/nikki/2004/02/mt_euc2utf8
abcxyz3000
質問者

お礼

ありがとうございました。 DB/html/phtml・・・全部、UTF-8に統一したら、正常に検索できました。 本当に助かりました。 ただ、今後、文字コードがどのように落ち着くか、ちょっと気になります。

その他の回答 (1)

  • proust
  • ベストアンサー率57% (62/108)
回答No.1

PHP素人ですので、アドバイスだけ・・・ なんとなく文字コードが怪しそうじゃないでしょうか? ・httpレスポンスヘッダ ・HTMLのmetaタグ ・PHPの設定 ・PostgreSQL-PHP間連携関数の設定 など。 phtmlの中で$_GETの代わりに"京都市"みたいな直値を 指定して挙動をみるとかどうでしょうか。 #素人なのでわかりませんが、サンプルコードには #$sqlを渡して$resultを得る関数の記述が抜けていませんか?

参考URL:
http://ml.postgresql.jp/pgsql-jp-old/pgsql-jp/2001May/msg00565.html
abcxyz3000
質問者

補足

こんにちは。 直に、次の通り書いてもダメでした。となると、フォームからのデータが影響しているわけではなさそうです。 困りました。 $sql=sprintf("select * from address where city='京都市'"); #$sqlを渡して$resultを得る関数の記述が抜けていませんか? 800文字に制約されているみたいで、いろいろカットしているうちに間違って消してしまったみたいでした。

関連するQ&A