zoukankan      html  css  js  c++  java
  • Ubuntu修改mysql默认编码

    修改mysql的配置文件,使数据库与服务器操作系统的字符集设置一致。
        vi /etc/my.cnf 设置(如果没有发现这个文件,就新建1个)
        [mysqld]
        datadir=/var/lib/mysql
        socket=/var/lib/mysql/mysql.sock
        default-character-set=utf8  (增加的关键一句,使得数据库缺省以utf8存储)
        当然,修改后,要重启数据库。
       
        再次用mysql -u root -p命令进入数据库系统,用SHOW VARIABLES LIKE 'character_set_%';命令查看到如下内容:
    +--------------------------+-----------------------------------------------------------------------+
    | Variable_name            | Value                                                                 |
    +--------------------------+-----------------------------------------------------------------------+
    | character_set_client     | latin1                                                                |
    | character_set_connection | latin1                                                                |
    | character_set_database   | utf8                                                                  |
    | character_set_filesystem | binary                                                                |
    | character_set_results    | latin1                                                                |
    | character_set_server     | utf8                                                                  |
    | character_set_system     | utf8                                                                  |
    | character_sets_dir       | /usr/local/mysql-5.1.20-beta-linux-i686-glibc23/share/mysql/charsets/ |
    +--------------------------+-----------------------------------------------------------------------+
        发现关键项目已经用了utf8,但这样还不够,还要保证客户端也是用utf8的字符集来操作的
        登录的时候,要用以下命令:mysql --default-character-set=utf8 -u root -p
      
        再次用SHOW VARIABLES LIKE 'character_set_%';命令查看,结果变成了:
    +--------------------------+-----------------------------------------------------------------------+
    | 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/local/mysql-5.1.20-beta-linux-i686-glibc23/share/mysql/charsets/ |
    +--------------------------+-----------------------------------------------------------------------+
        这样才能保证客户端所发命令都是基于utf8格式的,比如说建立数据库和表,默认就会以utf8编码,而无须再次指定。


    需要说明一下,如果在修改编码之前已经建好数据库,需要删掉原来,重新建立数据库。

  • 相关阅读:
    c++读取文本文件
    C++在设计和使用智能指针
    spring mvc 控制器方法传递一些经验对象的数组
    unity3D实际的原始视频游戏开发系列讲座10它《战斗:外来入侵》在第一季度游戏开发
    Docker安装应用程序(Centos6.5_x64)
    VC和gcc在保证功能static对线程安全的差异变量
    POJ 1252 Euro Efficiency
    extjs_03_grid(添加数据)
    BZOJ 1212 HNOI2004 L语言 AC自己主动机(Trie树)+动态规划
    OpenGL开发时,fatal error C1083: 无法打开包括文件:“glglut.h”: No such file or directory
  • 原文地址:https://www.cnblogs.com/feichan/p/2251661.html
Copyright © 2011-2022 走看看