MySQL 中文乱码解决
2015-07-16 17:40
676 查看
测试环境:服务端和客户端均为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
注意:该方法设置的参数在服务器重启后失效。
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 仅对表数据的编码处理生效,对表结构字段注释中的中文无效。
参考:
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 Partition分区(理论)
- mysqldumpl备份
- MYSQL数据库中的现有表增加新字段(列)
- MySQL主从复制和读写分离
- Ubuntu 安装mysql
- MYSQL数据导入EXCEL
- mysql集群安装配置
- Mysql 性能优化(一 慢日志)
- mysql绿色版学习
- MySQL存储过程详解  mysql …
- mysql查看和修改字符集的命令
- mysql性能最大化
- Mysql使用命令修改密码
- mysql函数全
- MySQL 登录问题
- MySQL分区性能初探
- MySQL客户端服务器端命令总结
- MySQL无限重启原因分析
- navicat for mysql中SSH连接方式
- MySQL中优化sql语句查询常用的种方法