zoukankan      html  css  js  c++  java
  • 设置Mysql数据库的默认编码为utf8


    设置Mysql数据库的默认编码为utf8

    sunny 分享于 26 天 前, 2 条回复, 104 次浏览

    mysql的默认编码为latin1,存储中文时总会出现乱码,每次改过了,下次又忘了该怎么配,把它记录下来,也分享给各位。

    进入mysql,查看默认编码:

    $ mysql -uroot -proot
    
    $ show variables like character%'

    显示字符编码:

    +--------------------------+----------------------------+
    
    | Variable_name | Value |
    
    +--------------------------+----------------------------+
    
    | character_set_client | latin1 |
    
    | character_set_connection | latin1 |
    
    | character_set_database | latin1 |
    
    | character_set_filesystem | binary |
    
    | character_set_results | latin1 |
    
    | character_set_server | latin1 |
    
    | character_set_system | utf8 |
    
    | character_sets_dir | /usr/share/mysql/charsets/ |
    
    +--------------------------+----------------------------+

    现暂停mysql服务:

    $sudo /etc/init.d/mysql stop

    修改 /etc/mysql/my.cnf

    $ sudo chmod 777 /etc/mysql/my.cnf
    
    $ vim /etc/mysql/my.cnf

    client下面加上:

    default-character-set=utf8

    mysqld下面加上:

    default-character-set=utf8
    
    init_connect='SET NAMES utf8'

    保存,退出wq

    重启mysql服务:

    $sudo /etc/init.d/mysql start

    发现出错:

    Warning: World-writable config file '/etc/mysql/my.cnf' is ignored
    
    /usr/bin/mysqladmin: connect to server at 'localhost' failed
    
    error: 'Access denied for user 'luoping'@'localhost' (using password: NO)'

    原因为:/etc/mysql/my.cnf 权限太高,搜索了一番,有人说许改为600,但是我发觉不行,查看了/etc/mysql/文件夹里的其他文件,权限是755,所以修改权限

    $sudo chmod 755 /etc/mysql/my.cnf

    重启mysql服务,OK

    再次查看数据库编码

    $ mysql -uroot -proot
    
    $ show variables like character%'

    显示字符编码:

    +--------------------------+----------------------------+
    
    | Variable_name | Value |
    
    +--------------------------+----------------------------+
    
    | character_set_client | utf8 |
    
    | character_set_connection | utf8 |
    
    | character_set_database | utf8 |
    
    | character_set_filesystem | binary |
    
    | character_set_results | utf8 |
    
    | character_set_server | utf8 |
    
    | character_set_system | utf8 |
    
    | character_sets_dir | /usr/share/mysql/charsets/ |
    
    +--------------------------+----------------------------+

    回复 (2 条)

    • # 1 楼
      jerry 回复于 25 天 前

      貌似用windows的同学容易有这个数据库默认的编码问题。

    • # 2 楼
      aoner 回复于 20 天 前

      windows上更容易点吧,安装的时候有提示,可以自己选择编码,不用像linux安装完了在改配置文件

    添加回复

    1. 如果你还未注册, 请填写你的名字。

    2. 你可以实用以下html标签:

      <a href="" title=""> <b> <blockquote> <pre> <code> <em> <i> <strong>

      代码块请使用 <pre><code>...</code></pre>.


  • 相关阅读:
    数30的小程序
    convert curl command into java HttpGet
    优秀技术文章转载备份 --- 变速原理
    用 c 调用 win-api 实现自动点击c# winform 程序 的按钮
    win 10 安装 glew 方法
    《想到什么更新什么系列》processing 性能优化
    processing 根据物体移动方向改变朝向
    openFrameworks 无法生成exe已经找不到dll的解决方案
    UE4 无法打开源文件“file_name.generated.h”(Cannot open source file name.generated.h)
    UE4 重新编译老版本的插件
  • 原文地址:https://www.cnblogs.com/lexus/p/1902195.html
Copyright © 2011-2022 走看看