MySQL在建表时,选UTF8编码时,你们选的哪种校对规则?

倪倪 发布于 2014/07/24 17:33
阅读 3K+
收藏 0

有utf8_bin 、utf8_general_ci 、utf8_unicode_ci 等等一大堆,网上搜了,说是unicode更准确,general更快,还有说用bin的。

那你们一般选什么呢?为什么呢?

今天我从SQLite中的UTF8的数据导入到MySQL中的UTF8(用的general)中,结果中文部分在页面输出中还是出现了乱码,在库中看到的是正常的。暂时用的set names解决了,可总感觉不爽,数据量又太大,不想再导一次了,不知道跟这个校对规则可有关系?

加载中
1
Tuesday
Tuesday
utf8_general_ci  (utf8_一致标准格式_不区分大小写)
utf8_unicode_ci (utf8_国际码_不区分大小写)
utf8_bin_**  (utf8_国际码_区分大小姐)
甘薯
甘薯
不错,学习了
0
JokerHuang
JokerHuang
utf8_general_ci set names 至于为什么,就是从学编程开始就是这么用的,也没有试着了解具体原因。。。
0
puras
puras
同楼上~~~
0
吾爱
吾爱
utf8_general_ci set names 至于为什么,就是从学编程开始就是这么用的,也没有试着了解具体原因。。。
0
南湖船老大
南湖船老大
utf8_general_ci set names 至于为什么,就是从学编程开始就是这么用的,也没有试着了解具体原因。。。
0
Narky
Narky
utf8_general_ci set names 至于为什么,就是从学编程开始就是这么用的,也没有试着了解具体原因。。。
0
倪倪
前几天陪人在医院挂针,一直没时间上来看,不好意思,感谢楼上的热心回答,虽然感觉还没解开这个结。
0
彼得堡的遗书
彼得堡的遗书

utf8_unicode_ci  是国际码,对处理国外语言的判断更精确,utf8_general_ci不考虑国外语言存在的不精确性,但是效率更高。

set_names  修改的是客户端字符集,连接字符集和返回结果集的字符集。  出现问题应该是客户端和mysql服务器端存在编码不一致,运行show variables like 'character%';  查看字符集确认一下。

返回顶部
顶部