• mysql字符集


      恰当的字符集,畅快的体验!

    00、Oracle字符集

    Subsets and Supersets   #子集与超集

    Table A-11 Subset-Superset Pairs

    Subset(子集)

    Superset(超集)

    AR8ADOS710

    AR8ADOS710T

    AR8ADOS720

    AR8ADOS720T

    AR8ADOS720T

    AR8ADOS720

    AR8APTEC715

    AR8APTEC715T

    AR8ARABICMACT

    AR8ARABICMAC

    AR8ISO8859P6

    AR8ASMO708PLUS

    AR8ISO8859P6

    AR8ASMO8X

    AR8MUSSAD768

    AR8MUSSAD768T

    AR8MUSSAD768T

    AR8MUSSAD768

    AR8NAFITHA711

    AR8NAFITHA711T

    AR8NAFITHA721

    AR8NAFITHA721T

    AR8SAKHR707

    AR8SAKHR707T

    AR8SAKHR707T

    AR8SAKHR707

    BLT8CP921

    BLT8ISO8859P13

    BLT8CP921

    LT8MSWIN921

    D7DEC

    D7SIEMENS9780X

    D7SIEMENS9780X

    D7DEC

    DK7SIEMENS9780X

    N7SIEMENS9780X

    I7DEC

    I7SIEMENS9780X

    I7SIEMENS9780X

    IW8EBCDIC424

    IW8EBCDIC424

    IW8EBCDIC1086

    KO16KSC5601

    KO16MSWIN949

    LT8MSWIN921

    BLT8ISO8859P13

    LT8MSWIN921

    BLT8CP921

    N7SIEMENS9780X

    DK7SIEMENS9780X

    US7ASCII

    See Table A-12, "US7ASCII Supersets".

    UTF8

    AL32UTF8

    WE8DEC

    TR8DEC

    WE8DEC

    WE8NCR4970

    WE8ISO8859P1

    WE8MSWIN1252

    WE8ISO8859P9

    TR8MSWIN1254

    WE8NCR4970

    TR8DEC

    WE8NCR4970

    WE8DEC

    WE8PC850

    WE8PC858

    注意:

      直接修改oracle字符集,子集向超集转变。是没问题的。汉字在gbk下占2个字节、utf8下是3个字节

    01、mysql字符集关系

    11、查看mysq支持的字符集

    show character set;

    22、查看当前数据库使用的字符集

    show variables like '%character%';

    参数解释:

    mysql和字符集有关的变量

    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,不需要设置,是为存储系统元数据的字符集

    修改mysql字符集的方法:

    mysql> SET collation_connection = utf8_general_ci ;   

    mysql> SET collation_database = utf8_general_ci;

    mysql> SET collation_server = utf8_general_ci ;

     02、mysql客户端请求字符集流转过程

    一个完整的用户请求的字符集转换流程是

       1) mysql Server收到请求时将请求数据从character_set_client转换为character_set_connection

       2) 进行内部操作前将请求数据从character_set_connection转换为内部操作字符集,步骤如下

            A. 使用每个数据字段的CHARACTER SET设定值;

            B. 若上述值不存在,则使用对应数据表的字符集设定值

            C. 若上述值不存在,则使用对应数据库的字符集设定值;

            D. 若上述值不存在,则使用character_set_server设定值。

       3) 最后将操作结果从内部操作字符集转换为character_set_results

     附上mysql5.6.x的my.cnf配置

    [client]
    default-character-set=utf8
    
    [mysql]
    auto-rehash
    default-character-set=utf8
    
    [mysqld]
    user=mysql
    innodb_buffer_pool_size = 256M
    join_buffer_size = 128M
    sort_buffer_size = 20M
    read_rnd_buffer_size = 64M
    
    lower_case_table_names=1
    
    max_allowed_packet=500M
    wait_timeout=200000
    interactive_timeout=200000
    
    datadir=/servyou_domain/mysql/data
    socket=/var/lib/mysql/mysql.sock
    
    init_connect='SET collation_connection = utf8_unicode_ci'
    init_connect='SET NAMES utf8'
    character-set-server=utf8
    collation-server=utf8_unicode_ci
    skip-character-set-client-handshake
    
    symbolic-links=0
    sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES 
    
    log_bin_trust_function_creators=1
    
    [mysqld_safe]
    log-error=/var/log/mysqld.log
    pid-file=/servyou_domain/mysql/data/mysqld.pid
  • 相关阅读:
    VGA实验 :逻辑分析仪
    VGA实验:点亮屏幕
    ASP.NET 4‎.0 生成 eurl.axd Http异常错误的处理方法 (汗IIS 怎这么多莫名其妙的问题)
    腾讯检测 IP 省市的接口
    hql 中cast 方法的使用
    asp.net 防止外部提交数据(转)
    为 SQL Server 启用缓存通知
    net中前台 javascript与后台c#函数相互调用
    const 与 readonle 的异同
    获取页面执行时间的几种方法(asp.net转)
  • 原文地址:https://www.cnblogs.com/xiaochina/p/7611824.html
Copyright © 2020-2023  润新知