zoukankan      html  css  js  c++  java
  • MySQL字符集

    MySQL字符集包括字符集(character)和(collation)两个概念。字符集是用来定义MySQL存储字符串的规则,校对规则则是定义了比较字符串的方式。字符串和校对规则是一对多的>关系。使用命令:show collation like 'gbk';可查看相关的校对规则;使用:show character set;查看所有可用的字符集。
    校对规则命名约定:它们以其相关的字符集开头,通常包括一个语言名,以一个_ci(不区分大小写)、_cs(大小写敏感)或_bin(二元,即比较是基于字符集编码的值而与language无关)结束。
    MySQL的字符集和校对规则有4个级别的默认值:服务器级、数据库级、表级和字段级。
    服务器字符集设定(默认为:latin1作为服务器字符集):
            在my.cnf中设定:default-character-set=gbk
            在服务器启动时指定:mysqld --default-character-set=gbk
            在编译的时候制定:./configure --with-character=gbk
    使用命令:show variables like 'character_set_server';查看当前服务器使用的字符集和校对规则。
    数据库的字符集和校对规则在创建数据库的时候指定,也可以在创建完数据库后通过'alter table'命令进行修改。需要注意的是修改数据库字符集不会更改已经存在的数据的字符
    集。命令:show variables like 'chaacter_set_database';查看数据库当前使用的字符集。
    表字符集和校对值:表的字符集可在床家表时指定,也可以通过alter table命令进行修改,同样,如果表中已有记录,修改字符集对原有的记录并没有应吸纳个。
    列字符集和校对:MySQL同时支持对列级别的字符集进行定义,可以针对相同表的不同字段分别定义字符集和校对规则。
    链接字符集和校对规则
        在实际的应用访问中,还存在客户端和服务器之间的字符集和校对规则的设置。
        对于客户端和服务器的交互操作,MySQL提供了3个不同的参数:character_set_client、character_set_connection和character_set_results,分别代表客户端、链接和返回
    结果的字符集,通常情况下,这3个字符集应该是相同的,才可以确保用户写入的数据能够正确读取出来。
        命令:set names ***;可以用来同时修改这3个参数的值。使用这个方法修改链接的字符集和校对规则,需要应用每次链接数据库后都执行这个命令。
        在配置文件my.cnf中通过设置:default-character-set=gbk 这样服务器启动后,所有链接默认就是使用GBK字符集进行链接。

  • 相关阅读:
    SpringMVC中静态获取request对象 Spring中获取 HttpServletRequest对象【转载】
    springcloud 的loadbalancer 轮询算法切换方法 2021.4.3
    springboot项目启动增加图标
    rabbitmq 端口作用以及修改方法
    centos8 安装rabbitmq
    springcloud config client Value获取不到信息的问题的处理方法
    springcloud config配置git作为数据源然后启动报错 If you want an embedded database (H2, HSQL or Derby), please put it on the classpath.
    Sublime Text的列模式如何操作
    centos8 安装redis
    jQuery简单的Ajax调用
  • 原文地址:https://www.cnblogs.com/gbyukg/p/2245048.html
Copyright © 2011-2022 走看看