FreeBSD,MySQL4.1.11,PHP4.3.10を使用してデータの検索結果をHTMLで表示するシステムを構築しています。

検索のための入力文字が数字だと正常に検索結果が表示されるのですが、日本語だと結果セットが何も得られません。
phpmyadmin上では検索結果が得られます。
SQL文は以下です。
SELECT * FROM table1, table2 WHERE (table1.field = table2.field) and field2 like ’%日本語%’
HTMLフォームから日本語を入力してうまく検索結果を得るためにはどのようにすれば良いか教えてください。

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:
  • 終了:--
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答3件)

id:ku- No.1

回答回数23ベストアンサー獲得回数0

ポイント23pt

そのシステム自体を構築したことがありませんが

その「日本語」の部分をeuc-jpやshift_jis、isoなどに

置き換えるだけじゃダメなんでしょうか?(^-^

ごめんなさい、自信ないです。

id:no626

もし、具体的にどのように置き換えれば良いか分かりましたら、教えてください。

2005/05/21 21:09:20
id:naoya3839 No.2

回答回数59ベストアンサー獲得回数0

ポイント23pt

http://www.bousaid.que.jp/memo/php/urlencode.php

URLエンコードと検索エンジン

URLエンコード

id:no626

どうもうまくいきません。

ちなみにURLエンコードをしなくともMySQL4.0系なら動作するので、MySQLのバージョンの問題かと思い、格闘しています。

2005/05/21 21:57:15
id:prize321 No.3

回答回数21ベストアンサー獲得回数0

ポイント24pt

SQL文が記述されているファイルと、HTTP経由でデータベース上に格納されたデータの文字コードが違うようです。データベース上に格納されたデータをファイルに出力して文字コードを調べてみてください。

以下、駄目な例:

SQL文が記述されているファイル -> シフトJIS

データベース上に格納されたデータ -> EUC

id:no626

調べたところ、

SQL文が記述されているファイル -> EUC

データベース上に格納されたデータ -> ?

↑これなんですが、phpmyadminからエンコードしないでエクスポートするとSJISだったのですが、EUCに設定していると思うのですが…本当にSJISなのかと驚いています。

作戦を変更しますので、終了します。

2005/05/21 23:40:31

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません