美文网首页
Ubuntu下MySQL的中文乱码原因及解决

Ubuntu下MySQL的中文乱码原因及解决

作者: 阿清哪去了 | 来源:发表于2017-12-28 23:57 被阅读75次

安装过程

  • 安装前更新软件包列表
$ sudo apt update
  • 进行安装
$ sudo apt-get install mysql-server mysql-client
打开终端如此操作
  • 安装过程

    • 会提示输入root密码和数据库用户密码


      这是第一次输入的root密码
  • 安装好后输入 mysql -u root -p,再提示下输入root用户密码(因为-u后面跟的用户为 root)进入mysql。

    可以输入SHOW DATABASES;查看当前数据库

这样就代表安装成功了!

数据库出现乱码问题的原因及解决办法

在安装好MySQL后,基本的操作都不会出现问题,但是在输入中文后,发现表中出现了乱码,或者从数据库取到的内容到网页上出现了乱码。原因有以下三种:

  • 前端网页
    • 网页和PHP程序存贮为UTF-8格式;网页中指定编码格式:
      <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
  • 字符传输
    • apache的配置
      vim /etc/apache2/conf.d/charset AddDefaultCharset UTF-8
  • 连接MYSQL以及MYSQL的存贮方式
    • 最常见的原因就发生在此,为了检查是否该原因,输入\s查看配置信息
      可以看到配置信息中有两项并不是uft8的编码
  • 现在我们需要修改配置文件来修改Server characterset和Db characterset的编码方式
    • 首先需要安装好vim(不一定非要用vim,但是趁此练习一下也不错)
    $ sudo apt-get install vim
    
  • 再用vim打开配置文件进行修改
    • 因为修改配置文件需要管理员权限,所以在前面加上sudo
    $ sudo vim /etc/mysql/my.cnf
    
  • vim中输入i进行内容的插入
    • 在最底端输入
    [client]   
    default-character-set = utf8
    [mysqld] 
    character-set-server=utf8
    collation-server=utf8_general_ci
    skip-character-set-client-handshake
    [mysql]
    default-character-set = utf8
    
    • 输入完成后,按esc,输入冒号,输入wq(保存退出),再重启MySQL服务
    $ sudo systemctl restart mysql.service
    

现在基本修改好了,再进入MySQL,输入\s查看编码是否改成了UTF8


现在已经修改为了UTF8,输入中文后也不会出现乱码问题

现在基本没有问题了哦!谢谢浏览,如果有宝贵的意见或者建议请留言,我会认真回复!晚安!

相关文章

网友评论

      本文标题:Ubuntu下MySQL的中文乱码原因及解决

      本文链接:https://www.haomeiwen.com/subject/qlsbgxtx.html