k1210228840
和二不要调皮
2016-08-05 09:28
采纳率: 42.9%
浏览 2.3k
已采纳

关于centos7.0进入mysql5.7无法输入中文

我用的是云服务器,然后用bitwise SHH和putty远程登录
装了mysql5.7数据库,不能输入中文,只能输入字符,没进入数据库的话,就可以在控制台
输入中文。数据库编码我全设为utf8也没有用。敲中文就是敲不进去

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

3条回答 默认 最新

  • k1210228840
    和二不要调皮 2016-08-05 10:20
    已采纳

    以解决,编码问题,改系统编码为utf8

    点赞 评论
  • feng1790291543
    鱼弦 2016-08-05 10:02

    一、登录MySQL,使用SHOW VARIABLES LIKE 'character%';查看当前使用的字符集,显示如下:

    character_set_database和character_set_server的默认字符集是latin1。
    二、最简单的完美修改方法,修改mysql的my.cnf文件中的字符集键值(注意配置的字段细节):
    1、在[client]字段里加入default-character-set=utf8,如下:
    [client]
    port = 3306
    socket = /var/lib/mysql/mysql.sock
    default-character-set=utf8

    2、在[mysqld]字段里加入下面红色三句,如下:
    [mysqld]
    port = 3306
    socket = /var/lib/mysql/mysql.sock
    default-storage-engine=INNODB
    character-set-server=utf8
    collation-server=utf8_general_ci

    3、在[mysql]字段里加入default-character-set=utf8,如下:
    [mysql]
    no-auto-rehash
    default-character-set=utf8

    修改完成后,service mysql restart重启mysql服务就生效。注意:在较新版的mysq中,[mysqld]字段与[mysql]字段是有区别的。

    使用SHOW VARIABLES LIKE 'character%';查看,发现数据库编码全已改成utf8。

    4、如果上面的都修改了还乱码,那剩下问题就一定在connection连接层上。解决方法是在发送查询前执行一下下面这句(直接写在SQL文件的最前面):
    SET NAMES 'utf8';
    5、使用show create database 数据库名; 查看指定数据库的编码方式,如下:

    修改指定数据库的编码:
    mysql>user mydb;
    mysql>alter database mydb character set utf8;
    使用show create table 表名; 查看表的编码格式。如下:

    设置默认编码为utf8:
    set names utf8;
    设置数据库db_name默认为utf8:
    ALTER DATABASE db_name DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
    设置表tb_name默认编码为utf8:
    ALTER TABLE tb_name DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;

    点赞 评论
  • caozhy
    点赞 评论

相关推荐