測试环境:服务端和client均为win7,MySql数据库、表字符集为utf-8,字段字符集与表一致。

1、使用mysql命令进行操作时的乱码问题解决。

(1)设置当前字符集

set names gbk 

(2)改动单个字符集參数

使用命令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       | D:\mysql-5.6.25-winx64\share\charsets\ |

+--------------------------+----------------------------------------+

改动单个字符集:

set character_set_results=gbk

注意:该方法设置的參数在server重新启动后失效。

2、mysqldump导出时乱码问题解决

(1)导出有两种情况:一是导出表结构,二是导出表结构和数据。

导出全表:

mysqldump -uroot -p [databasename] --table [tablename]

仅仅导出表结构:

mysqldump -uroot -p [databasename] --table [tablename] -d

(2)实验

经測试,在控制台环境,导出表结构时,不管怎么设置--default-character-set參数,均无法正常显示字段凝视中的中文,命令例如以下:



mysqldump -uroot -p --default-character-set=gbk test --table t_data

但表数据中的中文能够正常显示(通过设置--default-character-set=gbk)。

可是,若导出为文件,则能够正常显示,命令示比例如以下:

mysqldump -uroot -p --default-character-set=gbk mydb --table t_data -d > t_data.sql

有趣的是,无论--default-character-set设置为何值(gbk,utf8,latin1)均能正常显示,在控制台显示乱码和控制台本身有一定的关系。

(3)总结

在控制台环境,表结构中的中文字段凝视总是不能正常显示,使用管道输出到文件。则总能正常显示(使用UltraEdit打开)。

表数据中必须通过參数设置--default-character-set=gbk来控制正常输出中文,包含控制台显示或用管道输出到文件。

也就是说--default-character-set=gbk 仅对表数据的编码处理生效。对表结构字段凝视中的中文无效。

补充:

Java 连接MySQL。中文存储到数据库后为乱码。

解决:在JDBC数据库连接后增加编码说明串,比如:

jdbc:mysql://127.0.0.1:3306/dbname?useUnicode=true&characterEncoding=GBK

參考:

1、查看创建表使用的字符集:

show create table [tableName]

2、查看表字段使用的字符集:

show full columns from [tableName]

3、查看表

show tables;

4、查看表信息

desc [tablename]

5、查看数据库

show databases;

6、查看数据库信息

show create database test;

MySQL 中文乱码解决的更多相关文章

  1. php mysql 中文乱码解决方法

    本文章向码农们介绍php mysql 中文乱码解决方法,对码农们非常实用,需要的码农可以参考一下. 从MySQL 4.1开始引入多语言的支持,但是用PHP插入的中文会出现乱码.无论用什么编码也不行 解 ...

  2. 可遇不可求的Question之导入mysql中文乱码解决方法篇

    可遇不可求的Question之导入mysql中文乱码解决方法篇 先 set names utf8;然后 source c:\1.sql ?

  3. mysql 中文乱码解决方法

    最近在.NET 项目中用EF连接mysql,插入中文数据时老是显示乱码,在创建表时都已将编码指定了,但是还是出现乱码,折腾了一阵子才发现在连接字符串里面也要加上指定编码 Character Set=u ...

  4. mysql中文乱码解决方式

    近期项目使用到mysql.却突然出现了中文乱码问题.尝试了多种方案,最终解决乱码问题,总结一下解决方式,给遇到同样问题的人一点參考. 中文乱码的原因 1.安装mysqlserver的时候编码集设定有问 ...

  5. php mysql 中文乱码解决,数据库显示正常,php调用不正常

    一般来说,乱码的出现有2种原因,首先是由于编码(charset)设置错误,导致浏览器以错误的编码来解析,从而出现了满屏乱七八糟的“天书”,其次是文件被以错误的编码打开,然后保存,比如一个文本文件原先是 ...

  6. mysql中文乱码解决办法

    Windows 在C:\Program Files\MySQL\MySQL Server 5.5\bin目录下 MySQLInstanceConfig.exe执行 重新配置character_set_ ...

  7. mysql中文乱码解决方法

    latin1(1和l的区别,l要么没有缺缺,要么缺缺是向左的直的; 1向左的缺缺是弯曲的,应该是可以看得出来的)是8位的字符集,表示英文和西欧字母. 瑞士: Switzerland [swits2la ...

  8. mysql中文乱码解决

    有时服务端显示中文正常,但在客户端却显示?乱码, 首先,系统字符集, echo $LANG vi .bash_profile export $LANG=en_us.utf8 另一个是, mysql的, ...

  9. Ubuntu中MySQL中文乱码解决

    1.以root登陆,在终端输入命令 sudo gedit /etc/mysql/my.cnf在打开的文件中找到[client]在下面加入default-character-set=utf8 找到 [m ...

随机推荐

  1. WPF 获取指定文件的Icon

    C# var icon = System.Drawing.Icon.ExtractAssociatedIcon(@"filepath"); var m = new MemorySt ...

  2. 【51nod】1340 地铁环线

    今天头非常疼,躲在家里没去机房 反正都要颓废了,然后花了一上午研究了一下这道神题怎么做-- 题解 首先我们发现,如果我们设\(dis[i]\)为从\(0\)节点走到\(i\)节点的距离 那么题目中给出 ...

  3. Java 中(静态)变量、(静态)代码块的执行顺序

    Java 中(静态)变量.(静态)代码块的执行顺序 非原创 本文讨论 Java 中(静态)变量.(静态)代码块的执行顺序 首先创建 3 个类 1.Foo 类 public class Foo { pu ...

  4. vue-router history 模式 iis 配置

    首先需要安装 url rewrite模块到IIS点我安装 然后在web.config文件中添加如下配置 <?xml version="1.0" encoding=" ...

  5. golang中接口interface和struct结构类的分析

    再golang中,我们要充分理解interface和struct这两种数据类型.为此,我们需要优先理解type的作用. type是golang语言中定义数据类型的唯一关键字.对于type中的匿名成员和 ...

  6. Django框架之【自定义模板过滤器与标签】

    本文在我的微信公众号的链接:https://mp.weixin.qq.com/s?__biz=MzU5NTU5MjcwNw==&mid=2247483674&idx=1&sn= ...

  7. supervisor控制台运行出错,BACKOFF Exited too quickly

    需要把虚拟环境中的flask路径导入,我这里是 export PYTHONPATH=$PYTHONPATH:/root/FlaskWebDevelopment/venv/lib/python2.7/s ...

  8. PHP视频教程 字符串处理函数(一)

    字符串处理函数: PHP处理字符串的空格: strlen()   字符串长度 trim()对字符串左右空格删除 ltrim()对字符串左边空格删除 rtrim()对字符串右侧空格删除 PHP对字符串大 ...

  9. luogu P1965 转圈游戏

    题目描述 n 个小伙伴(编号从 0 到 n-1)围坐一圈玩游戏.按照顺时针方向给 n 个位置编号,从0 到 n-1.最初,第 0 号小伙伴在第 0 号位置,第 1 号小伙伴在第 1 号位置,……,依此 ...

  10. java中的多线程 // 基础

    java 中的多线程 简介 进程 : 指正在运行的程序,并具有一定的独立能力,即 当硬盘中的程序进入到内存中运行时,就变成了一个进程 线程 : 是进程中的一个执行单元,负责当前程序的执行.线程就是CP ...