MYSQL 查询不适用于 where 或 FIND_IN_SET 中的希腊词

Posted

技术标签:

【中文标题】MYSQL 查询不适用于 where 或 FIND_IN_SET 中的希腊词【英文标题】:MYSQL query not working with Greek words in where or FIND_IN_SET 【发布时间】:2021-07-23 15:42:36 【问题描述】:

数据库中有两条带有 ABITE 和 ABİDE 名称的记录,但由于 ABİDE 中的希腊字符,因此下面的查询总是在查询响应中返回 ABITE 行。

SELECT * FROM `namedetails` WHERE FIND_IN_SET (CitizenName,'ABITE,ABİDE')>0

请问,我们如何在 where 或 FIND_IN_SET 查询中使用希腊字符?

【问题讨论】:

你的表的排序规则是什么? @TimBiegeleisen - 我正在使用 utf8_general_ci 【参考方案1】:

我得到了答案。让我与你分享。我添加了以下代码,它开始渲染希腊和特殊字符世界。

mysqli_query($link, "SET CHARACTER SET utf8");
mysqli_query($link, "SET NAMES 'utf8'");
mysqli_query($link, "SET SESSION collation_connection = 'utf8_general_ci'");

【讨论】:

以上是关于MYSQL 查询不适用于 where 或 FIND_IN_SET 中的希腊词的主要内容,如果未能解决你的问题,请参考以下文章

ADD_DATE() 不适用于 mysql 中的 where 子句

Mongoose find() 不适用于 $not 查询 [重复]

PostgreSQL 函数不适用于 WHERE 子句

如何在 where 子句上基于 SqlCommand 或 SqlDataAdapter 填充 datagridview? SqlDataAdapter 不适用于哪里?

Oracle where exists 子句不适用于 SQL Plus

mysql基础 FIND_IN_SET 代替 or 查询 ,where 条件查询 代替 or