zoukankan      html  css  js  c++  java
  • MySQL的中文编码问题

    创建表格时,怎么让表格显示中文?
    注意:不区分大小写

    mysql> ALTER TABLE 表格的名字 CONVERT TO CHARACTER SET UTF8;

    怎么让默认的数据库支持中文字符编码?

    mysql> ALTER DATABASE testDB CHARACTER SET UTF8;

    1.首先以root用户登录查看我们数据库的编码方式

    show variables like 'character%'; /show variables like 'character_set_%';

    2.设置UTF-8

    SET character_set_client = utf8;
    SET character_set_results = utf8;
    SET character_set_connection;

    3.查看已经安装好的字符序

    show collation;

    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,不需要设置,是存储系统元数据的字符集
    character_sets_dir:/usr/share/mysql/charsets/

    mysql的字符集分为几类:
    A.客户端字符集:通过系统变量”character_set_client“表示,通知server端,客户端提交的sql语句编码格式
    B.连接字符集:通过系统变量”character_set_connectiont“表示,server端翻译sql语句时,使用的编码格式
    C.结果集字符集:通过系统变量”character_set_results“表示,server端返回结果集之前把结果集转换成的编码格式
    D.存储字符集:通过系统变量”character_set_results“和“character_set_server”表示,是数据在存储引擎里编码格式

    创建tablel默认值为中文时老是出错,而英文就可以,就是编码问题,解决办法:在括号外面加个charset='utf8';

    图上:

    正确的:

  • 相关阅读:
    Fast Member
    C++箴言:理解typename的两个含义
    网上资源工具
    WeakReference
    MonoGame教程
    The RAII Programming Idiom
    OpenGL Common Mistakes
    Finalize()、Dispose()、SafeHandle、GC
    Interop with Native Libraries
    C++计算几何库
  • 原文地址:https://www.cnblogs.com/qq1871707128/p/6039979.html
Copyright © 2011-2022 走看看