在codeigniter中实现搜索

jk9hmnmh  于 2021-06-21  发布在  Mysql
关注(0)|答案(2)|浏览(331)

每个人都知道如何用codeiginter实现页面搜索。
一个问题是我的关键字,例如“ș阿威克ă" 有变音符号。如何用这个关键字搜索数据库表。
简单 $this->db->like($keyword); 返回数据库错误。
我的数据库字符编码设置为 utf8-general-ci 我搜索的表中有 utf8_romanian_ci 编码。

zd287kbt

zd287kbt1#

输出 SHOW CREATE TABLE 您应该从以下方式中选择一种:

the_column ... CHARACTER SET utf8,   -- or utf8mb4

或者,如果未在 the_column ,那么

CREATE TABLE ... (...) DEFAULT CHARACTER SET utf8;  -- or utf8mb4

检查一下 Șaweqă 已存储(通过 INSERT ,等等)正确地使用utf8 SELECT HEX(col)... . 你应该得到 C898 61 77 65 71 C483 为了 Șaweqă . (我添加了空格来区分字符。)
检查是否已提取(通过 SELECT ,等)正确地,查看输出。

os8fio9y

os8fio9y2#

尝试在ci配置文件中允许特殊字符:

$config['permitted_uri_chars'] = 'a-z 0-9~%.:@_\-ä';

如果你正在使用 GET 方法,尝试 urldecode() 关键字:

$keyword = urldecode($keyword);

相关问题