我正在为一个法国客户开发一个应用程序,该客户拥有其数据库 MySQL、排序规则 Latin1、字符编码 swedish_general_ci。我假设在 ISO 编码术语中对应于 ISO 8859-15 标准(这是单字节编码并包含“讨厌的”字符)。
在表 'mytable' 中有一列 'mycolumn' 具有以下记录/行:“Il est au cœur du débat” 我正在从 PHP 5.3 进行查询,基于是否在此表的 comumn 中的关键字。查询是带有 LIKE 子句的简单 SELECT 并且一切都返回正确的结果,除非我从 PHP 执行此操作:
$tag = $_GET['search']; // the value of tag is ckecked as "cœ" (I printed in a file)
$res=query("SELECT * FROM `mytable` WHERE `mycolumn` LIKE '%" . $tag . "';");
它应该返回上面的“Il est au cœur du débat”结果,但是,它没有(count($res) 为零)。如果我只是从代码中复制上述查询(我将 $tag 替换为“cœ”)并将其直接粘贴到 phpMyadmin 并执行 SQL,它可以正常工作,并显示该行作为结果。我提到重音字符不是问题。我错过了什么?谢谢