0

codeigniterアプリケーションにページ付けされた結果を含む単純な検索エンジンがあります。結果を関数に送信すると、データベースにクエリが実行され、ページネーションが行われます。

 function keyword_search($keyword, $from){...}

標準のページネーションライブラリに基づいた、シンプルで基本的なcodeigniterページネーションがあります。検索で国語のポーランド語の文字を使用しようとするまでは、すべてうまくいきます。

urldecode($keyword) 

keyword_search()の内部で、データベースを適切に照会しますが、問題は、ページ付けしようとしているときです。完璧な解決策は、これらの国別文字をいくつかのユニバーサル文字に変換し、この値をURLにプッシュし、APPがこの変換された文字列をURLで検索すると、ネイティブの変換されていない文字列を検索することです(国別文字がないのは良いことです) SEOの目的でも)。

解決策を作成するために、たとえば、ポーランド語の文字を英語の文字に変換する関数は次のとおりです。

$this->polish_characters($keyword);

変換された文字列をページネーションの目的でURLにプッシュするまでに検索したい、元の検索文字列をどこに保持する必要がありますか?

4

1 に答える 1

1

変換には、PHPのiconvを使用できます。

また、utf8_general_ciを使用しているため、キーワードの両方のバージョンを検索できます。likeを使用するだけで、検索パラメーターとして「masa」を指定した場合でも、MySQLは「máša」のような単語を取得できます。

SELECT * FROM myTable WHERE keyword like 'masa'
于 2012-09-05T23:01:20.457 に答える