您好我正在尝试在我的网站上进行搜索,该搜索正在使用
查找数据库CHARACTER SET utf8 COLLATE utf8_slovak_ci
表也是utf8_slovak_ci。在名为knihy(书籍)的表中我有字段Autor1 Autor2 Autor 3 Autor4 / Author 1 etc./这是我用于搜索的查询:
$q = $this->db->query("SELECT * FROM (`knihy`)
WHERE `stav` = 1
AND (Autor1 LIKE '$vyraz'
OR Autor2 LIKE '$vyraz'
OR Autor3 LIKE '$vyraz'
OR Autor4 LIKE '$vyraz')
ORDER BY `id` desc LIMIT $limit OFFSET $offset ");
假设我在我的桌子上预订了Autor1 / Author1 /名称为“Šilíoá”,如果我正在寻找“Šilíoá”它也会被发现如果我正在寻找“Šilioa”,但如果我是寻找“silioa”将找不到任何东西。问题是char“Š”和“š”我该如何解决这个问题?我在互联网上发现了很多教程,但它仍然没有用......
答案 0 :(得分:2)
您可以通过将表charset设置为utf8,将collation设置为utf8_general_ci或utf8_unicode_ci来修复它。你还需要在你的代码(连接字符串)中设置charset到utf8。
连接字符串示例:
string cs = @“server = localhost(或IP地址); userid = root; password = xxx; database = table_name; charset = utf8”;