Php 搜索不区分大小写的非拉丁字符串

Php 搜索不区分大小写的非拉丁字符串,php,mysql,Php,Mysql,如果查找一个值为“BLUE”的mysql条目,我可以通过以下条目找到它:SELECT*FROM-objects-WHERE-name,比如“%BLUE%”。那很好,这就是我想要的 但是:如果我正在寻找一个值为“BLÅ”的mysql条目,SELECT*来自像“%BLå%”这样的名称不返回任何内容的对象。我想让它返回行 我正在使用php mysqli对象与mysql交互 列字符集为utf8。表排序规则是utf8\U unicode\U ci。您是否正确配置了?@eggyal,这是字符集配置。你觉得它

如果查找一个值为“BLUE”的mysql条目,我可以通过以下条目找到它:
SELECT*FROM-objects-WHERE-name,比如“%BLUE%”
。那很好,这就是我想要的

但是:如果我正在寻找一个值为“BLÅ”的mysql条目,
SELECT*来自像“%BLå%”这样的名称不返回任何内容的对象。我想让它返回行

我正在使用php mysqli对象与mysql交互


列字符集为utf8。表排序规则是utf8\U unicode\U ci。

您是否正确配置了?@eggyal,这是字符集配置。你觉得它有什么问题吗?字符集客户端utf8字符集连接utf8字符集数据库拉丁1字符集文件系统二进制字符集结果utf8字符集服务器拉丁1字符集系统utf8字符集目录/usr/share/mysql/charsets/抱歉这看起来很糟糕,我还没有弄清楚如何在这个编辑器中正确设置格式…连接字符集必须与将字符串literal
“%blå%”发送到MySQL的编码匹配。因为PHP对字符串编码没有任何内在的理解,所以您需要自己跟踪/管理它。这个字符串是如何进入PHP的?如果在源文件中硬编码,它将在源文件的编码中。如果它是从其他来源(例如浏览器)接收到PHP中的,则它将采用该来源生成的任何编码。有关详细信息,请参阅。我使用set_charset()设置字符串编码,使其对应于字符集连接,但结果是相同的。您是否正确配置了?@eggyal,这是字符集配置。你觉得它有什么问题吗?字符集客户端utf8字符集连接utf8字符集数据库拉丁1字符集文件系统二进制字符集结果utf8字符集服务器拉丁1字符集系统utf8字符集目录/usr/share/mysql/charsets/抱歉这看起来很糟糕,我还没有弄清楚如何在这个编辑器中正确设置格式…连接字符集必须与将字符串literal
“%blå%”发送到MySQL的编码匹配。因为PHP对字符串编码没有任何内在的理解,所以您需要自己跟踪/管理它。这个字符串是如何进入PHP的?如果在源文件中硬编码,它将在源文件的编码中。如果它是从其他源(例如浏览器)接收到PHP中的,则它将采用源生成的任何编码。有关更多信息,请参阅。我使用set_charset()设置字符串编码,以便它对应于字符集连接,但结果是相同的。