我对非拉丁字符有一些疑问。
查询:
SELECT * FROM table WHERE name LIKE '%{$phrase}%'
PHP:
$phrase = $_POST['phrase'];
//$phrase = strtolower/strtoupper($_POST['phrase']) made no differece
演示数据库:
Asomething (in the db stored as Asomething)
asomething (in the db stored as asomething)
Äsomething (in the db stored as Äsomething)
äsomething (in the db stored as äsomething)
无论我键入 a 还是 A ,我都会得到想要的结果-两个结果,但是... 如果键入Ä,则只会得到一个包含大写字母的结果。我怎样才能得到他们两个?
已编辑:我使用排序规则utf8_general_ci
答案 0 :(得分:1)
尝试使用mb_strtolower($phrase , 'UTF-8');
答案 1 :(得分:0)
始终始终小写您的搜索查询。
SELECT * FROM table WHERE LOWER( name ) LIKE '%{$phrase}%'