• 締切済み

特定の文字の時だけ起こるエラー?次の○件の場合

PHPとMySQLで検索システムを作っています。 検索結果を 次の10件> というように10件づつ表示させているのですが、「略」という文字を検索した時のみ検索結果が50件以上あるにもかかわらず 次へ> をクリックして2ページ目を表示させると「検索結果は0件」という表示がでてきてしまいます。 いくつか試したのですが、その他の文字で検索した場合は全て正常に機能するので、原因不明です。 ちょっと分かりづらいかもしれませんが、宜しくお願いします。 かなり簡略化しましたが、こんな感じで作ってます。 if(($page_num+1)*10 < $cnt){ echo "<a href=book.php? nm1=",$url1," & page_num=",$page_num+1,">"; echo "次へ></a>"; }

みんなの回答

  • rokujiro
  • ベストアンサー率53% (17/32)
回答No.1

自信は無いのですが多分[略]というキーワードが検索結果1ページ目で文字化けを起こし次のページに行った時にキーワードが無くなっているんじゃないでしょうか!? 一度、1ページ目のHTMLソースを確認して見て下さい。 文字化けしている場合はキーワードや検索対象文字列を下記2命令でコンバートするとうまくいくと思います。 ・mb_convert_kana(カナを("全角かな"、"半角かな"等に)変換する) http://jp2.php.net/manual/ja/function.mb-convert-kana.php ・htmlspecialchars(内部文字エンコーディングの設定/取得) http://jp2.php.net/manual/ja/function.mb-internal-encoding.php 例) $key_word = mb_convert_kana($key_word, "asK", "SJIS"); $key_word = htmlspecialchars($key_word); $string = mb_convert_kana($string, "asK", "SJIS"); $string = htmlspecialchars($string);

Library1399
質問者

お礼

ありがとうございます。 お礼が遅くなり申し訳ありません。 mb_convert_kanaの処理と、urlencodeの処理はしているのですが、ソースをもう一度確認してみます。

関連するQ&A

専門家に質問してみよう