zoukankan      html  css  js  c++  java
  • 03_MySQL中文乱码处理_01_MySQl数据库字符集知识

    【MySql数据库常见字符集介绍】

      在互联网环境中,使用MySql时常用的字符集有:

    【如何选择合适的字符集】

      1.如果处理各种各样的文字,发布到不同语言的国家地区,应选Unicode字符集,对MySQL来说就是UTF-8(每个汉字3字节),如果应用需要处理英文,仅少量汉字使用UTF8更好(中英文混合)

       2.如果只需要支持中文,并且数据量很大,性能要求也较高,可选择GBK(定长:每个汉字占双字节,英文也占双字节),如果需要大量运算,如:比较排序,定长字符集,更快,性能更高。

      3.处理移动互联网业务,可能需要utf8mb4字符集。

     【查看当前MySQL系统支持的字符集】

    使用“ show character set; ”来查看:

    查看当前MySQL的字符集设置情况

    使用" show variables like 'character_set%' "

    | 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        |


    【使用"set names ****"解决乱码问题】

    我们先在MySQL默认创建的test数据库中建立一个"user"表

    然后我们来为user表添加一些数据:

    会发现,插入英文都正常,但是一旦插入中文会出现“ Incorrect string value:"xD5xC5xC8xFD" for column 'name' at row 1 ”的错误。

    我们先查看一下其数据库test的字符编码,默认是Latin1编码的

    再查看一下表user的字符编码:同样是latin编码

    对应于数据库和表均为latin1编码的情况,如何可以插入中文数据呢?如下:

    使用"set names latin1;"设置编码,然后插入中文字段即可。

    接下来查询一下,关闭cmd,重新打开一个cmd重新登录,进行查询操作。

    发现查询出来又是乱码,我们再处理一下,

     

    于是可以得出,要根据被查询的数据库和表的本身的字符编码来进行对应的" set names  **** "进行处理。

     再来看看"set names ****"的具体作用:

    先看下数据库test的默认情况下的字符集设置情况:

    使用“set names utf8;” 再看下结果:

     

  • 相关阅读:
    C/S 随思录
    3dTiles 最后一块拼图:几何误差与屏幕空间误差
    aps.net cannot connect to runtime process
    asp.net web api swagger使用总结
    asp.net webaip 跨域
    LightGBM算法实践
    Zabbix 机器 CPU 飙高 和 时区相差8个小时
    【vue踩坑记录】3、“Error in render: "TypeError: Cannot read property '0' of undefined"”渲染错误问题
    1-关于补码的理解
    vscode快捷键
  • 原文地址:https://www.cnblogs.com/HigginCui/p/5787380.html
Copyright © 2011-2022 走看看