Welcome 微信登录

首页 / 数据库 / MySQL / Ubuntu 15.04下MySQL 5.6.25不支持中文解决办法

Ubuntu 15.04下MySQL 5.6.25不支持中文解决办法,apt-get install 安装的,不是源码包安装的mysql。1 修改mysql的配置文件/etc/mysql/conf.d/mysql.cnf在[mysql]的下方加入如下语句:(注:这个文件下没有配置,只有【mysql】)no-auto-rehash
default-character-set=utf8/etc/mysql/mysql.conf.d/mysqld.cnf在[mysqld]下加入socket = /var/run/mysqld/mysqld.sock
port = 3306
character-set-server=utf8 (这里是server,之前有的版本是set)重启mysql: sudo /etc/init.d/mysql restart查看字符集mysql> 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)设置之后如果之前的数据库已经创建了,只能删除重新创建了。--------------------------------------分割线 --------------------------------------解决步骤现总结如下:1 修改mysql的配置文件    /etc/mysql/conf.d/mysql.cnf    在[mysql]的下方加入如下语句:    no-auto-rehash
    default-character-set=utf8 /etc/mysql/mysql.conf.d/mysqld.cnf
    在[mysqld]下加入    socket      = /var/run/mysqld/mysqld.sock
    port      = 3306
    character-set-server=utf8 等内容,自行对比,有的就不用加了,一般只需要加入 character-set-server=utf8这时候shell 进入mysql,执行:show variables like "character%" , 结果如图:重启mysql: sudo /etc/init.d/mysql restartError Code: 1366. Incorrect string value: "xE5xBCxA0xE4xB8x89" for column "ename" at row 1
这是因为该表的字符集不支持中文所致,执行show create table  new_table 查看建表语句可知解决办法:将该表删除,新建,支持中文的关键在于建表选择的字符集更多Ubuntu相关信息见Ubuntu 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=2本文永久更新链接地址