ubuntu系统mysql控制台无法输入中文的一种替代性解决方法

问题描述

尝试用lampp在ubuntu系统上搭建web项目运行环境的时候,发现mysql控制台无法输入中文。我是用xshell远程连接运行在virtualbox里的ubuntu虚拟机,在ubuntu的命令行写中文完全没有问题,用vim新建文件,在里面写中文也都正常,但是只要进入mysql的控制台,就完全没有办法写汉字,从windows里复制好的汉字,到了mysql控制台执行粘贴后,汉字也不会显示。

尝试过的无效解决方法

1. 修改了/opt/lampp/etc/my.cnf配置文件,在里面各种设置默认字符集为utf8

2. 修改/etc/profile文件,在里面设置了环境变量LANG的值,具体如下

export LANG="en_US.UTF-8"
export LC_ALL="en_US.UTF-8"
export LC_CTYPE="en_US.UTF-8"

3. 在mysql控制台使用下面的语句检查是否所有编码都设置成了utf8

show variables like "char%";

显示的结果也确实都是utf8

4. 检查xshell的编码设定,也是utf8,没有问题。

但是经历这些操作之后,依然无法在mysql控制台打中文。

后来查到相关博客说这种情况是因为mysql的版本不合适,但是我的mysql是集成在lampp里的,不是单独安装的,不方便卸载重装。后来终于找到一个合适的替代性解决方法。

解决方法

第一步:在ubuntu里选择一个合适的路径,假设选择/tmp目录。使用vim命令新建文件mydemo.sql

第二步:在mydemo.sql里把想要执行的包含中文的sql语句写进去。下面是我的mydemo.sql文件的内容:

INSERT INTO `user` VALUES ('admin', '1234', '信息查询功能,信息录入功能,信息删除功能,信息修改功能,信息浏览功能,用户管理功能');
INSERT INTO `user` VALUES ('mike', '123', '信息查询功能,信息录入功能,信息删除功能,信息修改功能,信息浏览功能');
INSERT INTO `user` VALUES ('selina', '1201', '信息查询功能');

写好之后保存并退出该文件。

第三步:进入mysql控制台(我是进入lampp中的mysql控制台,使用的指令是sudo /opt/lampp/bin/mysql)

第四步:在mysql控制台选择要使用的数据库(我的数据库名称是mmdatabase)

use mmdatabase;

第五步:在mysql控制台使用下面的命令执行mydemo.sql中的sql语句

source /tmp/mydemo.sql

这样操作的效果和在mysql控制台直接输入并执行这些sql语句是一样的。中文已经被存入了数据表中,再查询也是可以正确显示的。这个方法虽然比较迂回,但是在不方便卸载重装mysql的情况下可以暂时解决问题。

如果这篇博文帮到了你,就请给我点个吧(#^.^#)

有疑问也欢迎留言~博主最近比较忙,如果没有及时回复还请见谅,有时间会回的

ヾ(◍°∇°◍)ノ゙

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值