mysql - 在 codeigniter 中实现搜索

标签 mysql sql codeigniter character-encoding

大家都知道如何用codeiginter实现页面搜索。

一个问题是我的关键字(例如“şaweqă”)带有变音符号。如何使用此关键字搜索数据库表。

简单的$this->db->like($keyword);返回数据库错误。

我的数据库字符编码设置为 utf8-general-ci 并且我搜索的表包含采用 utf8_romanian_ci 编码的行。

最佳答案

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 )...。您应该获得 şaweqăC898 61 77 65 71 C483。 (我添加了空格来区分字符。)

要检查是否正确获取(通过 SELECT 等),请查看输出。

关于mysql - 在 codeigniter 中实现搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48325782/

相关文章:

sql - 在 SQL Server 的列中存储 id 数组/元组的正确方法是什么

php - mysqli::real_connect(): (HY000/2005): 未知的 MySQL 服务器主机

mysql - 我想不出有效的 SQL 查询来解决这个问题

php - 用PHP和Mysql实现High图表

mysql - 如何在 "User::with"查询中使用 eloquent 获取 Laravel 中的某些列?

mysql - 获取查询的行数

mysql 不同或分组查询

sql - 聚合函数中的子句

mysql - Codeigniter数据库调用效率

javascript - 带有 codeigniter 3 的图表栏