修改linux下mysql的编码

来源:互联网 发布:软件架构 pdf 编辑:程序博客网 时间:2024/06/05 21:58

最近做了一个项目,当我把数据库放在阿里云的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

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

0 0
原创粉丝点击