zoukankan      html  css  js  c++  java
  • mysql编码

    客户端编码

     character_set_client、character_set_connection、character_set_results这3个参数值是由客户端每次连接进来设置的,和服务器端没关系。

    当客户端连接服务器的时候,它会将自己想要的字符集名称发给mysql服务器,然后服务器就会使用这个字符集去设置character_set_client、character_set_connection、character_set_results这三个值。

    如果我们想告诉mysql server自己本次连接想使用latin1:

    mysql -uroot -h 192.168.2.11 -pAbcd@1234 --default-character-set=latin1

    服务端编码

    一般都是utf8

    MariaDB [config2]> show variables like 'char%';          
    +--------------------------+----------------------------+
    | Variable_name            | Value                      |
    +--------------------------+----------------------------+
    | character_set_client     | utf8                       |
    | character_set_connection | utf8                       |
    | character_set_database   | utf8                       |
    | character_set_filesystem | binary                     |
    | character_set_results    | utf8                       |
    | character_set_server     | utf8                       |
    | character_set_system     | utf8                       |
    | character_sets_dir       | /usr/share/mysql/charsets/ |
    +--------------------------+----------------------------+
    8 rows in set (0.00 sec)
    #检查所有的编码方式
    

      

    最优状态:

    在建表时,DEFAULT CHARSET=utf8,客户端连接用utf8,这样,前后端所有的编码都是统一的,输入输出都不会出现麻烦的编码问题。

    麻烦的就是一些线上运行的库因为历史原因,表就是latin1之类,在里面存中文,在用django等工具时,编码问题就很讨厌。

  • 相关阅读:
    GIT的使用
    工具函数:cookie的添加、获取、删除
    技术分布特点:枣核型与网状结构
    js基础知识:表达式
    js基础知识:变量
    解决ie8(及其以下)不支持getElementsByClassName的问题
    毕设进度(10.29)
    毕设进度(10.28)
    毕设进度(10.27)
    毕设进度(10.26)
  • 原文地址:https://www.cnblogs.com/jabbok/p/9848546.html
Copyright © 2011-2022 走看看