在 MySQL 中选择字符集:简短指南


什么是字符集,为什么它们很重要?

在我们深入研究MySQL中的字符集之前,我们可能应该首先解释几个与它们相关的核心概念。本质上,字符集是允许用作列值一部分的一组字符。排序规则是指用于比较给定字符的规则,而字符集是符号和编码集。

字符集通常很重要,因为当与排序规则结合使用时,它们构成了非常强大的组合 – 例如,big5 字符集带有默认的big5_chinese_ci排序规则,可以在 MySQL 和 MariaDB 中使用中文字符,latin1 字符集带有可用于支持与瑞典语相关的字符的latin1_swedish_ci排序规则, 我们可以使用称为“sjis”的字符集来支持日语字符(此类字符集附带ujis_japanese_ci的排序规则)等。

如何选择合适的字符集?

与流行的看法相反,选择在MySQL中使用适当的字符集相当简单。您可以简单地运行一个查询,您应该看到如下所示的内容:SHOW CHARACTER SET /G;

************************** 1. row ***************************Charset: big5Description: Big5 Traditional ChineseDefault collation: big5_chinese_ciMaxlen: 2*************************** 2. row ***************************Charset: dec8Description: DEC West EuropeanDefault collation: dec8_swedish_ciMaxlen: 1

但是,还有另一种方法。运行如下所示的查询:

SELECT * FROM information_schema.CHARACTER_SETS ORDER BY CHARACTER_SET_NAME您还可以观察按名称从 A 到 Z 排序的所有字符集。以下是您将看到的内容:

 

在 MySQL 中选择字符集:简短指南
MySQL 中可用的字符集

 

在这种情况下,我们认为在MySQL中选择字符集应该比选择归类更容易一些,因为您已经能够看到MySQL结合了字符集和排序规则,并且还为您提供了某个排序规则的简短描述(换句话说,它可能与哪种语言相关, 等)

但是,在大多数情况下,要选择合适的字符集,您需要预先评估项目的要求。首先,您需要考虑数据库模式 – 它们是否经过优化?深入了解数据库模式后,请考虑要存储的数据 – 您是否将大数据集存储在某个存储引擎中?您的数据由哪些数据组成?您是否在存储用户名?地理位置?名字?姓氏?如果您存储姓名或姓氏,人们居住在哪个国家(这可能也是一个决定性因素 – 请记住,某些语言(例如,瑞典语,俄语等)具有独特的字符)?– 确保考虑所有可能发挥决定性作用的因素,就语言相关而言,然后发出类似上面的查询并明智地选择您的字符集。当然,如果你不喜欢某样东西,你总是可以改变它们,但预先选择一些东西总是比随手改变一些东西要好,对吧?

但是,如果您发现不喜欢选择使用的字符集,则始终可以通过发出查询来更改它们,例如 您选择使用的任何字符集的名称在哪里:utf8mb4

ALTER TABLE demo_table CONVERT TO CHARACTER SET utf8mb4;

就是这样 – 一旦您知道如何选择字符集以及如何将表转换为给定的字符集,您应该准备好在高性能道路上滚动!但是,如果您发现我们提供的信息不完整,

本站声明:
1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;

2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;

3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;

4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;

5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/293042.html

(0)
上一篇 2022年11月13日
下一篇 2022年11月13日

相关推荐

发表回复

登录后才能评论