我有一个简单的搜索引擎,在我的codeigniter应用程序中有分页的结果。当我将结果发送到函数中时,它会查询数据库并进行分页:
function keyword_search($keyword, $from){...}我有简单的,基本的基于标准分页库的codeigniter分页。一切都很顺利,直到我尝试在搜索中使用国家波兰语字符,我正在使用
urldecode($keyword) 在keyword_search()中,它可以很好地查询数据库,但问题是,当我试图分页时。完美的解决方案是将这些国家字符转换成一些通用的字符,在URL中推送这个值,当我的应用程序在url中搜索这个转换后的字符串时,它将搜索我的本地未转换字符串(最好也没有国家字符用于SEO目的)。
对于解决方案,假设将波兰语字符转换为英语字符的函数是
$this->polish_characters($keyword);我应该在哪里保存我的原始搜索字符串,当我将转换后的字符串推送到URL中用于分页目的时,我希望搜索它?
发布于 2012-09-06 07:01:20
对于转换,您可以使用PHP的iconv。
由于您使用的是utf8_general_ci,,因此仍然可以搜索该关键字的两个版本。只需使用like,即使你提供了'masa‘作为搜索参数,MySQL也能够拉出像'máša’这样的词:
SELECT * FROM myTable WHERE keyword like 'masa'https://stackoverflow.com/questions/12290660
复制相似问题