mysql - "SELECT"当表中存在变音符号时选择了错误的行

标签 mysql utf-8

表 'textconstraint' (collat​​ion utf8_general_ci) 的结构如下:

+-----+---------+
| id  | pattern |
+-----+---------+
|  11 | Ä       |
|  27 | A       |
+-----+---------+

当我查询时

SELECT * FROM textconstraint WHERE pattern = 'A' LIMIT 1;

以下行被选中

+----+---------+
| id | pattern |
+----+---------+
| 11 | Ä       |
+----+---------+

为什么选择 A-umlaut 而不是 A

附言我做 SET NAMES UTF8

最佳答案

你可以试试这个:

SELECT *
FROM textconstraint
WHERE pattern = BINARY 'A'

参见 this fiddle .

关于mysql - "SELECT"当表中存在变音符号时选择了错误的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14729783/

上一篇:java - 日期格式 SQL

下一篇:Mysql游标参数

相关文章:

php - 在插入 php 之前验证 csv 文件的电子邮件列

python - 如何识别Python中不可打印的unicode字符

mysql - 在 MySQL 中强制使用索引进行连接的语法是什么

MySQL:用于从临时表中选择的光标

mysql - 在获取结果中附加虚拟数据

c++ - 为 boost::locale::conv 中的函数获取用户的代码页名称

python - 为什么我的图片在用python下载并写入后损坏了?

java - 将字节流转换为字符串(UTF-8 编码)

python - str和unicode : why does Redis return binary data when passed unicode?的区别

java - 从 ResultSet 读取时出现 SQL 异常