修改linux下mysql的编码

最近做了一个项目,当我把数据库放在阿里云的centos中时,插入的中文全部乱码,这让我很不开心,于是我尝试去解决。

  1. 可以通过如下命令来查看mysql数据库中的当前编码:
    (1) 服务器端字符集 对应查看命令: show global variables like ‘%chara%’;
    (2) 客户端端字符集 对应查看命令: show variables like ‘%chara%’; 或者 show session variables like ‘%chara%’;

  2. 通过以上命令查看之后,你会发现你的服务器端编码与客户端编码不一致,这就是导致乱码的原因。目前常用字符集应该是utf-8吧,我们就把所有的编码都修改成utf-8。当然,统一修改成其他编码应该也可以,这是我没有尝试过,有兴趣的可以尝试一下。

  3. (1) 修改客户端编码: 使用set names 'utf8'
    (2) 修改服务端编码:通过修改配置文件完成,具体如下:
    首先打开my.cnf文件: vi /etc/my.cnf
    然后在[mysqld]下方添加如下图中红色框内的语句
    这里写图片描述
    最后重启mysql服务: service mysqld restart

  4. 此时再次查看服务端和客户端编码,如果不出意外,应该都修改成了utf-8了。

【另】
我在网上还看到下面这种方法,但是我用的时候想xml文件总是报错,但是你可以试试,也许你不会报错,哈哈哈哈。。。

程序连接需要指定字符集,以java代码为例:
jdbc:mysql://localhost:3306/dbname?useUnicode=true&characterEncoding=UTF-8

希望这些方法对你有帮助。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值