• 关于MYSQL存储中文问题


    最近在学习MYSQL时遇到了不能存储中文的问题,在网上找了很多类似的方法,最后都失败了(失败原因:修改完my.cnf文件后mysql server重新启动失败),濒临崩溃的时候重装了下mysql(Ubuntu重装mysql)然后用以下方法走了一遍就解决了。

    造成MYSQL存储中文乱码的原因是编码格式不一致导致乱码,如何去查看编码是否一致呢?

    首先进入mysql服务器:

    ~$ mysql -u root -p******
    //“*”号处输入密码,与p之间没有空格;

     查看当前数据库相关编码集:

    show variables like '%char%';       (注意最后有分号!)       
    +------------------------------+---------------------------------+
    | 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         | latin1                          |
    | character_set_system         | utf8                            |
    | character_sets_dir           | /usr/share/mysql/charsets/      |
    +------------------------------+---------------------------------+
    8 rows in set (0.00 sec)

     如何去修改成一致的编码格式呢?

     Ctrl+C退出mysql服务器。

     用vi或者gedit打开MYSQL配置文件my.cnf,并添加内容:

    ~$ sudo vi /etc/mysql/my.cnf              //用vi打开
    
    ~$ sudo gedit /etc/mysql/my.cnf         //用gedit打开
    
    在[client]标签下,增加客户端的字符编码
    [client]
    default-character-set=utf8
    
    在[mysqld]标签下,增加服务器端的字符编码
    [mysqld]
    character-set-server=utf8
    collation-server=utf8_general_ci

     修改完后,重新启动MYSQL服务器:

    ~$ sudo /etc/init.d/mysql restart

     再次进入mysql服务器,查看编码集,出现如下结果表示You succeed:

    +--------------------------+----------------------------+
    | 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/ |
    +--------------------------+----------------------------+
    8 rows in set (0.00 sec)

    转载自本人ITeye链接:http://xiaozhuang0706.iteye.com/blog/2258342



    don't look back boy~
  • 相关阅读:
    row_number() over(partition by的用法
    java基础之--动态代理
    Java中主要有一下三种类加载器;
    HBase基本shell命令
    IntelliJ IDE 基础经验备案 四-查找快捷键
    Docker:5 扩展学习之安装mysql并且将数据挂载到本地磁盘
    Docker:4 扩展学习之修改docker容器配置
    nginx安装部署《简单版》
    Redis基础学习: 与外部交互的数据类型
    Redis基础学习: 内部数据结构
  • 原文地址:https://www.cnblogs.com/BHfeimao/p/6496574.html
Copyright © 2020-2023  润新知