latin1保存汉字导致不同的汉字被认为“相等”
来源:互联网 发布:vsftpd 指定端口 编辑:程序博客网 时间:2024/06/05 05:13
转载自MySQLOPS 数据库与运维自动化技术分享
mysql> SELECT NICKNAME FROM user WHERE nickname = ‘磊飞’;
+———-+
| NICKNAME |
+———-+
| 龙飞 |
| 龙飞 |
| 龙飞 |
| 龙飞 |
+———-+
4 rows in set (0.00 sec)
明明不同的汉字被认为是相等的。我们知道mysql的诸多collation有很多结尾是_ci的,表示大小写不敏感。
mysql> select ‘a’='a’;
+———+
| ‘a’='a’ |
+———+
| 1 |
+———+
1 row in set (0.00 sec)
mysql> select ‘a’='A’;
+———+
| ‘a’='A’ |
+———+
| 1 |
+———+
1 row in set (0.00 sec)
mysql> select ‘a’='b’;
+———+
| ‘a’='b’ |
+———+
| 0 |
+———+
1 row in set (0.00 sec)
mysql> show table status like ‘user’;
+———-+——–+———+————+———-+—————-+————-+—————–+————–+———–+—————-+———————+———————+———————+——————-+———-+—————-+———+
| Name | Engine | Version | Row_format | Rows | Avg_row_length | Data_length | Max_data_length | Index_length | Data_free | Auto_increment | Create_time | Update_time | Check_time | Collation | Checksum | Create_options | Comment |
+———-+——–+———+————+———-+—————-+————-+—————–+————–+———–+—————-+———————+———————+———————+——————-+———-+—————-+———+
| user | MyISAM | 10 | Dynamic | 17705707 | 70 | 1251800492 | 281474976710655 | 1211700224 | 0 | NULL | 2009-12-22 01:43:26 | 2011-11-10 13:46:03 | 2011-11-10 13:49:05 | latin1_swedish_ci | NULL | NULL | |
+———-+——–+———+————+———-+—————-+————-+—————–+————–+———–+—————-+———————+———————+———————+——————-+———-+—————-+———+
1 row in set (0.00 sec)
我们看到latin1_swedish_ci,这就是造成“磊”和“龙”相等的原因了。
怎么样让大小写敏感,而去掉这种不需要的“相等”?
注意collate的用法
mysql> SELECT `NICKNAME` FROM user WHERE nickname = (‘磊飞’ collate latin1_bin);
Empty set (0.00 sec)
mysql> SELECT `NICKNAME` FROM user WHERE nickname = (‘龙飞’ collate latin1_bin);
+———-+
| NICKNAME |
+———-+
| 龙飞 |
| 龙飞 |
| 龙飞 |
| 龙飞 |
+———-+
4 rows in set (0.00 sec)
- latin1保存汉字导致不同的汉字被认为“相等”
- 汉字的不同编码表示
- 数据库保存汉字乱码
- 汉字
- 汉字
- 汉字段落保持左右边距相等
- 汉字转拼音的导致的内存溢出
- 一个汉字=2个英文字符么?我肤浅的这么认为。- -
- 一种导致UITextView无法输入中文打出汉字的原因
- JavaScript 文件保存不了汉字
- .properties文件保存汉字失败
- 将汉字转换为拼音字母(注意编码保存的格式)
- PrintStream DataOutputStream 保存的字节数(int,汉字)
- 保存一份常用汉字的unicode码表范围
- css中英文字母和汉字行高不同的解决方法
- 汉字的经典对白--感受一下汉字的魅力!
- 简体汉字与繁体汉字的转换
- asp输入汉字取得汉字的拼音
- autoit3 ie.au3 函数之——_IEDocInsertHTML
- Hadoop-----Unrecognized option: -jvm
- 有点high啊,有木有坑爹啊
- cymlancy
- SQL SERVER 2005 sa登录失败
- latin1保存汉字导致不同的汉字被认为“相等”
- YII Framework学习教程-用YIIC快速创建YII应用-2011-11-10
- 主页面 往 子页面传值 问题(一)
- Verious结盟Elance力推“一站式组件交易服务”
- JUnit测试框架使用介绍
- 判断IP地址是否为内网IP地址
- 设置android textview行间距
- eclipse开发项目实际上有很多很好的插件可以用
- iphone内存检查工具leak