我使用人工生成的文本,我从不同的在线数据集中下载,例如GitHub Torrent,Twitter API,网页抓取的HTML页面,Google BigQuery for GitHub等,这意味着我在数据库中有数以万计的文本
在哪些情况下,我应该为MySQL数据库中的 UTF8字段和 UTF8表格设置整理?是否有必要,我不能简单地使用" CHARACTER SET UTF8" ?
utf8 - 默认排序规则, utf8_unicode_ci , utf8_general_ci 和 utf8_general_mysql500_ci 之间有什么区别?
答案 0 :(得分:3)
每个文本列都有一个排序规则。它可以在表定义中明确设置,也可以只根据表的缺省值,数据库的缺省值或服务器范围的缺省值进行设置。但它有一个整理。
您提到的排序规则都是不区分大小写。也就是说,它们会忽略大写和小写字母之间的区别。如果您需要区分大小写的排序规则,请使用utf8_binary
。
您可能希望在现代服务器中使用utf8_unicode_ci
。阅读此背景资料。 What's the difference between utf8_general_ci and utf8_unicode_ci
utf8_general_mysql500_ci
是一种专门用于向后兼容旧版MySQL的排序规则。 http://dev.mysql.com/doc/relnotes/mysql/5.5/en/news-5-5-21.html