MYSQL字符集设置的方法详解(终端的字符集)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
MYSQL字符集设置的⽅法详解(终端的字符集)
前⾔
每次利⽤终端创建数据库或者创建表的时候,字符集都是latin1,或者进⾏插⼊值的时候,显⽰的是乱码(不指定字符集的时候)如下:
查看当前数据库的字符集
character_set_client:客户端请求数据的字符集
character_set_connection:客户机/服务器连接的字符集
character_set_database:默认数据库的字符集,⽆论默认数据库如何改变,都是这个字符集;如果没有默认数据库,那就使⽤ character_set_server指定的字符集,这个变量建议由系统⾃⼰管理,不要⼈为定义。
character_set_filesystem:把os上⽂件名转化成此字符集,即把 character_set_client转换character_set_filesystem,默认binary是不做任何转换的
character_set_results:结果集,返回给客户端的字符集
character_set_server:数据库服务器的默认字符集
character_set_system:系统字符集,这个值总是utf8,不需要设置。
这个字符集⽤于数据库对象(如表和列)的名字,也⽤于存储在⽬录表中的函数的名字。
查看当前数据库的校对规则
show variables like 'collation%';
参数⽂件中,client,mysql以及mysqld中都设置了utf8mb4字符集,但是没有设置collation相关参数
collation_connection 当前连接的字符集。
collation_database 当前⽇期的默认校对,每次⽤USE语句来“跳转”到另⼀个数据库的时候,这个变量的值就会改变。
如果没有当前数据库,这个变量的值就是collation_server变量的值。
collation_server 服务器的默认校对。
排序⽅式的命名规则为:字符集名字_语⾔_后缀,其中各个典型后缀的含义如下:
1)_ci:不区分⼤⼩写的排序⽅式
2)_cs:区分⼤⼩写的排序⽅式
3)_bin:⼆进制排序⽅式,⼤⼩⽐较将根据字符编码,不涉及⼈类语⾔,因此_bin的排序⽅式不包含⼈类语⾔
create database rommel default charset utf8 collate utf8_romanian_ci;
参数⽂件中[mysqld]添加以下
[mysqld]
character-set-server=utf8mb4
collation-server=utf8mb4_general_ci
进⾏数据库的重启后测试。
⼀系列测试,修改成功。
所以在安装的时候,就要进⾏参数修改,不可能安装好了在对数据库进⾏编译,如果⽣产不能进⾏数据库的重启,除了新建每张表和数据库指定写死之外,就只能临时指定字符集了。
临时指定:
SET character_set_client = utf8mb4;
SET character_set_connection = utf8mb4;
SET character_set_database = utf8mb4;
SET character_set_results = utf8mb4;
SET character_set_server = utf8mb4;
总结
到此这篇关于MYSQL字符集设置(终端的字符集)的⽂章就介绍到这了,更多相关MYSQL字符集设置(终端的字符集)内容请搜索以前的⽂章或继续浏览下⾯的相关⽂章希望⼤家以后多多⽀持!。