検索のための入力文字が数字だと正常に検索結果が表示されるのですが、日本語だと結果セットが何も得られません。
phpmyadmin上では検索結果が得られます。
SQL文は以下です。
SELECT * FROM table1, table2 WHERE (table1.field = table2.field) and field2 like ’%日本語%’
HTMLフォームから日本語を入力してうまく検索結果を得るためにはどのようにすれば良いか教えてください。
BLUE NORTH
そのシステム自体を構築したことがありませんが
その「日本語」の部分をeuc-jpやshift_jis、isoなどに
置き換えるだけじゃダメなんでしょうか?(^-^
ごめんなさい、自信ないです。
どうもうまくいきません。
ちなみにURLエンコードをしなくともMySQL4.0系なら動作するので、MySQLのバージョンの問題かと思い、格闘しています。
SQL文が記述されているファイルと、HTTP経由でデータベース上に格納されたデータの文字コードが違うようです。データベース上に格納されたデータをファイルに出力して文字コードを調べてみてください。
以下、駄目な例:
SQL文が記述されているファイル -> シフトJIS
データベース上に格納されたデータ -> EUC
調べたところ、
SQL文が記述されているファイル -> EUC
データベース上に格納されたデータ -> ?
↑これなんですが、phpmyadminからエンコードしないでエクスポートするとSJISだったのですが、EUCに設定していると思うのですが…本当にSJISなのかと驚いています。
作戦を変更しますので、終了します。
もし、具体的にどのように置き換えれば良いか分かりましたら、教えてください。