我试图找到与我的问题相似的东西,但我总是发现相反的情况......
这是交易(非常感谢任何帮助):
我的数据库(innodb)设置为 UTF8。基本上所有内容(服务器端、客户端、数据库、连接等)都设置为 UTF8 和 UTF8 general_ci 排序规则...
我的理解是,general_ci 使其不区分大小写,但也使其不区分重音。
在 phpmyadmin 中,查询 'a' = 'á' 之类的结果为真(“1”),尝试从另一个站点的 php 表单中查询带有重音符号的名称只会导致“0”。
问题是,我如何通过 php 表单执行选择,这使得一切都变得不敏感(比如 melee = mélee、jose = JOSÉ 等)?
一切都设置为 UTF8,包括 php 标头、“SET NAMES ('utf8') 以及所有这些都设置在 my.cnf.... 我的表单标签中还有一个“accept-charset="utf-8"” ,但这就是它的工作原理:-“jose”只给了我“jose%”条目...-如果我想找到 JOSÉ,我不能简单地查询“jose”,最后一个 É“必须”就是那个带重音符号的大写字母(如 josÉ 或 JOSÉ),但如果我尝试选择“josé”...,将找不到任何内容。
它们都在 utf8_general_ci 中,“显示像 '%character%' 这样的变量”给我带来了所有 UTF8...
名称正确存储在数据库中(使用 UTF8 字符,在页面中查看时,值显示正确),我可以通过 phpmyadmin 中的 SQL 比较“a”和“Ô没有问题,它们返回 true。 ..当我使用表单和与该数据库的连接时,它就不起作用了……字母不区分大小写,对,但是重音不是(甚至不区分大小写),知道为什么吗?
我的 php 表单应该如何“发送”大小写和重音不敏感的字符串?