• mysql保存中文乱码问题


    先查下数据库的编码

    mysql -uroot -p
     >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/ |
    +--------------------------+----------------------------+
    从以上信息可知数据库的编码为latin1,需要修改为gbk或者是utf8;
    其中,character_set_client为客户端编码方式;character_set_connection为建立连接使用的编码;character_set_database数据库的编码;
    character_set_results结果集的编码;
    character_set_server数据库服务器的编码;
    只要保证以上四个采用的编码方式一样,就不会出现乱码问题。
    另一个查看数据库编码的命令:
    >show variables like ‘collation%’;

    停止mysql服务,在ubuntu下使用

    sudo service mysql stop

    或者

    sudo stop mysql

    ,其他系统下可以用这个

    /etc/init.d/mysql stop

    修改 /etc/mysql/my.cnf 文件,在[client]下面增加default-character-set=utf8,在[mysqld]下面增加character-set-server = utf8,在[mysql]下面增加default-character-set=utf8,保存关闭文件,重启mysql服务,sudo service mysql start或者sudo start mysql或者

    /etc/init.d/mysql start。

    进入mysql,

    mysql -uroot -p

    运行这一句,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/ |
    +--------------------------+----------------------------+

    修改成功。

    然后再创建数据库,在mysql驱动或者orm在连接时都设置charset=utf8。

    
    
  • 相关阅读:
    Android 表格布局
    Python 字符串操作分类
    设置Safari禁止访问某个网站
    java判断路径是文件夹还是文件
    java上下分页窗口流动布局
    Python获取网页html代码
    一次失败的java Box居中尝试
    装饰器进阶和迭代器
    函数对象补充,包函数与装饰器
    函数对象和名称空间
  • 原文地址:https://www.cnblogs.com/descusr/p/2935573.html
Copyright © 2020-2023  润新知