Mysql查看编码方式专题
一、

  • 查看数据库的字符集
    show variables like 'character\_set\_%';
    输出:
    +--------------------------+--------+
    | 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   |
    +--------------------------+--------+
    结合以下的编码表我们发现当前的数据库系统的编码:
    latin1_bin  
    西欧 (多语言), 二进制  
     
    binary  
    二进制  
     
    以上是我在linux环境中的查看的结果编码集了。我现在WIN平台上面查看编码集结果如:
    +--------------------------+--------+
    | 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   |
    +--------------------------+--------+
    为什么会出现不一致的情况呢?在我本机上面是显示的UTF-8.而在LINUX上面居然是
     
    二、通过命令修改其编码
    创建数据库指定数据库的字符集
    mysql>create database mydb character set utf-8;#直接指定其编码
    直接通过命令进行修改
    set character_set_client=utf8;
    set character_set_connection=utf8;
    set character_set_database=utf8;
    set character_set_results=utf8;
    set character_set_server=utf8;
    修改完了之后再查询
    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     | utf8   |
    | character_set_system     | utf8   |
    +--------------------------+--------+
    结果全部都调整修改成UTF-8了!
    修改完了之后我看 select * from address_address; 出现乱码了!Django也乱码
     
    三、解决数据导入导出的乱码问题
    #create database nginxdjango;
    # use nginxdjango;
    # show variables like 'character\_set\_%';
    #打印输出居然是如下
    +--------------------------+--------+
    | 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   |
    +--------------------------+--------+
    依旧是latin编码的。
    OK。我将其编码设置一下
    set character_set_client=utf8;
    set character_set_connection=utf8;
    set character_set_database=utf8;
    set character_set_results=utf8;
    set character_set_server=utf8;

    再查询一下其编码格式为: +--------------------------+--------+
    | 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   |
    +--------------------------+--------+
    现在将数据导进来
    source /python/django/sql/nginxdjango.sql;
    其中的 nginxdjango.sql 其编码也是utf-8 格式的!
     
    导进来 数据库查看居然还是乱码不过程序跑起来是正常了!
     
     
     
     
     
     
    MySQL字符集编码的类型种类
    gb2312_chinese_ci和gbk_chinese_ci以及gb2312_bin,gbk_bin的区别
    gb2312_chinese_CI : 只支持简体中文
    gb2312_BIN   :而gb2312_bin可以说是gb2312_chinese_ci的一个子集,
    而且gb2312_BIN是二进制存储.区分大小写数据库编码格式就意义不一样了 
    gbk_chinese_CI   支持简体中文和繁体
    gbk_bin   解释同gb2312_BIN     对应gbk_chinese_CI 
    PS:GBK包括了简体与繁体两种类型
     
     新篇:2010-03-09
    MySQL中默认字符集的设置有四级:服务器级,数据库级,表级 。最终是字段级 的字符集设置。注意前三种均为默认设置,并不代码你的字段最终会使用这个字符集设置。所以我们建议要用show create table table ; 或show full fields from tableName; 来检查当前表中字段的字符集设置。
    MySQL 中关于连接环境的字符集设置有  Client端,connection, results 通过这些参数,MySQL就知道你的客户端工具用的是什么字 符集,结果集应该是什么字符集。这样MySQL就会做必要的翻译,一旦这些参数有误,自然会导致字符串在转输过程中的转换错误。基本上99%的乱码由些造 成。
    1. 数据库表中字段的字符集设置 。show create table TableName 或 show full columns from tableName 
    mysql> show create table t1;
    mysql> show full columns from t1; 查看列的编码类型
    3. 查看数据库的编码格式
    show create database test; 

    输出:CREATE DATABASE `test` /*!40100 DEFAULT CHARACTER SET utf8 */

    2. 当前联接系统参数  show variables like 'char%' 

    mysql> show variables like 'char%';

    1. 中文,请确保 表中该字段的字符集为中文兼容: 
     big5     | Big5 Traditional Chinese
     gb2312   | GB2312 Simplified Chinese
     gbk      | GBK Simplified Chinese
     utf8     | UTF-8 Unicode

    [其它补充]

    修改数据库的字符集
       mysql>use mydb
       mysql>alter database mydb character set utf-8;

    创建数据库指定数据库的字符集
       mysql>create database mydb character set utf-8;
    2010-05-02 新添加进来
    show variables like 'character\_set\_%'; 所查看到了几项中其中有这三项是受客户端影响
    character_set_client
    character_set_connection
    character_set_results

    而这三项是可以通过 set names utf8|set names gbk来设置的!只是说明当前连接的客户端的编码情况并没有影响到数据库服务器本身的编码情况

转载于:https://blog.51cto.com/athinkingreed/637666

Mysql查看编码方式专题相关推荐

  1. mysql 查看编码方式_Mysql查看编码方式专题

    Mysql查看编码方式专题 一. 查看数据库的字符集 show variables like 'character\_set\_%'; 输出: +--------------------------+ ...

  2. 在命令行修改MySQL的编码方式

    在MySQL中查数据的时候经常遇到中文乱码的事情,那么怎样通过命令行来修改MySQL的编码方式呢? 首先,可以通过show variables like 'character%';命令查看相关编码方式 ...

  3. 怎样把MySQL的编码方式改为utf8?

    一.当我们安装好MySQL后,单击电脑开始,然后运行cmd,记得必须要用管理员的身份运行.然后输入net start mysql 前面操作如果忘记采用管理员身份运行的话,会出现系统访问错误. 二.修改 ...

  4. mysql 转换编码方式

    进入mysql 的安装文件夹找到 " my.ini" 文件  (mysql配置文件) 一.编辑MySql的配置文件 vim /etc/my.cnf 在 [mysqld] 标签下加上 ...

  5. mysql查看编码_mysql 字符编码的查看与修改

    修改数据库字符集: 代码如下: ALTER DATABASE db_name DEFAULT CHARACTER SET character_name [COLLATE ...]; 把表默认的字符集和 ...

  6. MySQL查看与修改编码方式(mysql、数据库、表)

    mysql默认的编码方式是latin1,通过以下命令查看 show variables like 'char%'; 或者: show variables like 'character%'; mysq ...

  7. redhat修改mysql编码格式_RedHatLinux下修改MySQL编码方式

    RedHat Linux安装Mysql后其默认编码如下:(运行如下命令即可查看编码方式)# mysql -u root -pEnter password:mysql gt; show RedHat L ...

  8. C/C++中调用api设置mysql连接的编码方式

    MySQL在C/C++中调用api设置连接mysql的编码方式有以下几种方法: 1. mysqli_set_charset 调用示例: [cpp] view plain copy ret = mysq ...

  9. MySQL字符编码设置

    通过show variables like 'character_set%%';查看编码 修改mysql的编码方式可以有以下几个: 1.通过配置文件修改my.ini(windows下)或/etc/my ...

最新文章

  1. 下载linux操作系统一般的初始账号密码(虚拟机)
  2. js中当等于最小值是让代码不执行_JavaScript中最最基础的知识点
  3. Oracle杀事务数据库崩溃,关于pl/sql dev窗口崩溃导致锁表
  4. mysql如何大矩阵_如何打印矩阵
  5. Python开发过程中17个坑
  6. 简单的小愿望,就这么难实现
  7. Chrome for linux 历史版本
  8. 页面置换算法用java实现_java实现页面置换算法
  9. 基于物联网的智能门锁应用系统架构设计及项目开发实践总结
  10. blast2go mysql_blast2go本地化-2017教程
  11. ubuntu18.04下的屏幕亮度调节问题
  12. 五险一金,终于懂了!
  13. 『Ocelot』.NET开源API网关 – Ocelot详细使用及其说明(可当文档收藏使用)
  14. [转]国内外php主流开源cms、商城、点评、SNS、DIGG、RSS、分类信息、Wiki汇总(2009年)...
  15. 2016/2/18 html 图片热点,网页划区,拼接,表单
  16. 迅雷显示服务器未连接,迅雷看看网络连接不上怎么回事 迅雷看看连接不上网络的解决方法...
  17. exten C 的作用
  18. MATLAB学习笔记:重积分
  19. 高效率学习3Dmax游戏建模的方法技巧,后悔没早点知道
  20. 华为鸿蒙启用时间,时间表公布!即日起华为近百款设备陆续上“鸿蒙”

热门文章

  1. 20190904:(leetcode习题)合并两个有序数组
  2. pageoffice提示网络连接意外错误
  3. SpringBoot实战(十六):集成Skywalking调用链监控系统
  4. SCPPO(八):登录实现逻辑
  5. 自动驾驶落地物流场景,嬴彻科技驶入快车道
  6. 中国小伙CVPR 18论文遭质疑:同行难复现,要求评议组撤稿
  7. 这么多人,AI怎么知道你说的是哪个? | 李飞飞团队CVPR论文+代码
  8. 最强AlphaGo怎样炼成?刚刚,DeepMind团队进行了全面解读
  9. 初步学习Django-第五篇:ORM详解
  10. [EasyHexo 专栏] #1 - Markdown 编辑器推荐与语法简介