解决docker启动mysql无法输入中文以及中文不显示或乱码问题 |
您所在的位置:网站首页 › linux纯命令行输入不了中文 › 解决docker启动mysql无法输入中文以及中文不显示或乱码问题 |
前言
我在使用MySQL时,遇到了两个问题。一是在插入中文数据时,无法输入中文。二是在select的时候,查出来的中文数据是空的(因为插入时为空),然后我就使用Navicat连接数据库添加了中文数据,再到docker中查询,就发现了乱码问题。 乱码一般都是因为编码引起的,所以我们来查一下数据库的编码 show variables like '%character%';
使用如下命令进入容器,但这只是临时的 docker exec -it mysql env LANG=C.UTF-8 /bin/bash 2.1 统一客户端与连接编码为utf8登入数据库执行以下命令 set character_set_client = utf8; set character_set_results = utf8; set character_set_connection = utf8; -- 或者使用下面的命令同时统一编码(以下和以上命令选择一种执行即可,效果一样) set names ‘utf8’;退出数据库,修改my.cnf文件 出现bash: vim: command not found提示,需要安装一下vim,使用如下命令 apt-get update apt-get install vim -y然后重新执行vim命令即可 修改文件内容 [mysqld] pid-file = /var/run/mysqld/mysqld.pid socket = /var/run/mysqld/mysqld.sock datadir = /var/lib/mysql secure-file-priv= NULL [mysql.server] default-character-set = utf8 [mysqld_safe] default-character-set = utf8 [client] default-character-set = utf8重启mysql # exit退出容器 docker restart mysql登录mysql查看是否修改成功 docker exec -it mysql /bin/bash mysql -u root -p |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |