首页/应用软件/内容

5分钟读懂MySQL字符集设置

应用软件2022-10-02 阅读()
+--------------------+-----------------+ 1 row in set (0.00 sec)

3、column字符集/排序规则确定

假设CHARACTER SET、COLLATE的值分别是charset_name、collation_name:

如果charset_name、collation_name均明确,则字符集、字符序以charset_name、collation_name为准。

只明确了charset_name,collation_name未明确,则字符集为charset_name,字符序为charset_name的默认字符序。

只明确了collation_name,charset_name未明确,则字符序为collation_name,字符集为collation_name关联的字符集。

charset_name、collation_name均未明确,则以table的字符集、字符序为准。

八、选择:何时设置字符集、字符序

一般来说,可以在三个地方进行配置:

创建数据库的时候进行配置。

mysql server启动的时候进行配置。

从源码编译mysql的时候,通过编译参数进行配置

1、方式一:创建数据库的时候进行配置

这种方式比较灵活,也比较保险,它不依赖于默认的字符集/字符序。当你创建数据库的时候指定字符集/字符序,后续创建table、column的时候,如果不特殊指定,会继承对应数据库的字符集/字符序。

CREATE DATABASE mydb
 DEFAULT CHARACTER SET utf8
 DEFAULT COLLATE utf8_general_ci;

2、方式二:mysql server启动的时候进行配置

可以添加以下配置,这样mysql server启动的时候,会对character-set-server、collation-server进行配置。

当你通过mysql client创建database/table/column,且没有显示声明字符集/字符序,那么就会用character-set-server/collation-server作为默认的字符集/字符序。

另外,client、server连接时的字符集/字符序,还是需要通过SET NAMES进行设置。

[mysqld]
character-set-server=utf8
collation-server=utf8_general_ci

3、方式三:从源码编译mysql的时候,通过编译参数进行设置

编译的时候如果指定了-DDEFAULT_CHARSET和-DDEFAULT_COLLATION,那么:

创建database、table时,会将其作为默认的字符集/字符序。

client连接server时,会将其作为默认的字符集/字符序。(不用单独SET NAMES)

shell> cmake . -DDEFAULT_CHARSET=utf8 \
  -DDEFAULT_COLLATION=utf8_general_ci

九、写在后面

本文较为详细地介绍了MySQL中字符集、字符序相关的内容,这部分内容主要针对的是数据的存储与比较。其实还有很重要的一部分内容还没涉及:针对连接的字符集、字符序设置。

由于连接的字符集、字符序设置不当导致的乱码问题也非常多,这部分内容展开来讲内容也不少,放在下一篇文章进行讲解。

相关推荐:

MySQL字符集和校对顺序简介

关于MySQL字符集问题详解(图)

mysql字符集和校对规则(Mysql校对集)

以上就是5分钟读懂MySQL字符集设置的详细内容,更多请关注php中文网其它相关文章!


学习教程快速掌握从入门到精通的SQL知识。



第1页  第2页  第3页  第4页  第5页  第6页  第7页  第8页  第9页  第10页  第11页  第12页  第13页  第14页  第15页  第16页  第17页  第18页  第19页  第20页  第21页  第22页  第23页  第24页  第25页  第26页  第27页  第28页  第29页  第30页  第31页  第32页  第33页  第34页  第35页  第36页  第37页  第38页  第39页  第40页  第41页  第42页  第43页  第44页  第45页  第46页  第47页  第48页  第49页  第50页  第51页  第52页  第53页  第54页  第55页  第56页  第57页  第58页  第59页  第60页  第61页  第62页  第63页  第64页  第65页  第66页  第67页  第68页  第69页  第70页  第71页  第72页  第73页  第74页  第75页  第76页  第77页  第78页  第79页  第80页  第81页  第82页  第83页  第84页  第85页  第86页  第87页  第88页  第89页  第90页  第91页  第92页  第93页  第94页  第95页  第96页  第97页  第98页  第99页  第100页  第101页  第102页  第103页  第104页  第105页  第106页  第107页  第108页  第109页  第110页  第111页  第112页  第113页  第114页  第115页  第116页  第117页  第118页  第119页  第120页  第121页  第122页  第123页  第124页  第125页  第126页  第127页  第128页  第129页  第130页  第131页  第132页  第133页  第134页  第135页  第136页  第137页  第138页  第139页  第140页  第141页  第142页  第143页  第144页  第145页  第146页  第147页  第148页  第149页  第150页  第151页  第152页 

……

相关阅读