navicat for mysql学习之道:navicat for mysql 显示中文乱码解决办法
2013-08-29 13:57
766 查看
最近遇到一个问题,用navicat for mysql 打开数据库时全都显示的是乱码(在用程序代码插入数据之前确保字符不是乱码),遇到问题就的寻求解决之道,百度了好长时间也没解决,网上那些解决办法都不适合我的问题,网上的大多数解决方法是在navicat里右击一个连接,选择连接属性,切换到高级选项卡,去掉“使用mysql字符集”前的对勾,在编码里选择utf-8,这种方法对于部分问题可能适合,但是我的乱码问题依然存在,于是乎我又将utf-8改称gbk,gb2312,全都过问题依然粹依旧。
后来跟一个编程的老程序员请教了一下,他说可能是mysql的配置文件有问题,就是在mysql 的安装目录下的my.ini文件里的默认编码有问题,将my.ini文件的这两处的默认编码
==========================================
[mysql]
default-character-set=utf8 <------
==========================================
[mysqld]
# The TCP/IP Port the MySQL Server will listen on
port=3306
#Path to installation directory. All paths are usually resolved relative to this.
basedir="C:/Program Files/MySQL/MySQL Server 5.0/"
#Path to the database root
datadir="C:/Program Files/MySQL/MySQL Server 5.0/Data/"
# The default character set that will be used when a new schema or table is
# created and no character set is defined
default-character-set=utf8 <------
===========================================
箭头所指的地方确保为utf8(注意不是utf-8),navicat 里的使用的是mysql字符集(此时不用再选择utf-8编码), 问题才得以解决!我熟悉的中文字符又回来了!哪位朋友要使遇到同样的问题,希望能帮帮上忙。
一、需要修改的几处属性
连接属性:
![](http://s13.sinaimg.cn/middle/4585b70ah78529aa1978c&690)
数据库属性:
![](http://s12.sinaimg.cn/middle/4585b70ahb33a0afa5ddb&690)
表的属性
表名上右键-设计表,将光标定位在varchar或char类型的字段上。
![](http://s13.sinaimg.cn/middle/4585b70ahb33a0bcf5dac&690)
二、无法往Navicat中插入中文问题:
文件-新建链接
![](http://s8.sinaimg.cn/middle/4585b70ahb33a1e6d6ba7&690)
把之前的连接删除,然后在上面【链接】图标点下 新建链接在“连接属性”的设置中,高级-“使用mysql字符集”去掉,并且将编码改为10008-GB2312
![](http://s2.sinaimg.cn/middle/4585b70ahb33a1e8be381&690)
中文字符集就OK了
MYSQL中mysql> set names 'latin1';
在“连接属性”的设置中,高级-“使用mysql字符集”去掉钩,并且将编码改为10008-GB2312.
然后进入navicat的控制台后,show variables like 'char%';命令后如下:
+--------------------------+---------------------------------------+
| Variable_name | Value |
+--------------------------+---------------------------------------+
| character_set_client | latin1 |
| character_set_connection | latin1 |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | latin1 |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | D:mysql-5.1.32-win32sharecharsets |
此时我们需要在控制台运行 set names 'gbk'命令,运行后再次show variables like 'char%';命令查看结果如下:
+--------------------------+---------------------------------------+
| Variable_name | Value |
+--------------------------+---------------------------------------+
| character_set_client | gbk |
| character_set_connection | gbk |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | gbk |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | D:mysql-5.1.32-win32sharecharsets |
客户端连接环境设置算是完成了。接着中文数据该怎么插还是怎么插,不会再有乱码出现。
至于从.sql.txt等文本批量导入数据,则需要将相应的文件转化为gbk格式保存再导入,否则导入后会乱码
后来跟一个编程的老程序员请教了一下,他说可能是mysql的配置文件有问题,就是在mysql 的安装目录下的my.ini文件里的默认编码有问题,将my.ini文件的这两处的默认编码
==========================================
[mysql]
default-character-set=utf8 <------
==========================================
[mysqld]
# The TCP/IP Port the MySQL Server will listen on
port=3306
#Path to installation directory. All paths are usually resolved relative to this.
basedir="C:/Program Files/MySQL/MySQL Server 5.0/"
#Path to the database root
datadir="C:/Program Files/MySQL/MySQL Server 5.0/Data/"
# The default character set that will be used when a new schema or table is
# created and no character set is defined
default-character-set=utf8 <------
===========================================
箭头所指的地方确保为utf8(注意不是utf-8),navicat 里的使用的是mysql字符集(此时不用再选择utf-8编码), 问题才得以解决!我熟悉的中文字符又回来了!哪位朋友要使遇到同样的问题,希望能帮帮上忙。
一、需要修改的几处属性
连接属性:
数据库属性:
表的属性
表名上右键-设计表,将光标定位在varchar或char类型的字段上。
二、无法往Navicat中插入中文问题:
文件-新建链接
把之前的连接删除,然后在上面【链接】图标点下 新建链接在“连接属性”的设置中,高级-“使用mysql字符集”去掉,并且将编码改为10008-GB2312
中文字符集就OK了
MYSQL中mysql> set names 'latin1';
在“连接属性”的设置中,高级-“使用mysql字符集”去掉钩,并且将编码改为10008-GB2312.
然后进入navicat的控制台后,show variables like 'char%';命令后如下:
+--------------------------+---------------------------------------+
| Variable_name | Value |
+--------------------------+---------------------------------------+
| character_set_client | latin1 |
| character_set_connection | latin1 |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | latin1 |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | D:mysql-5.1.32-win32sharecharsets |
此时我们需要在控制台运行 set names 'gbk'命令,运行后再次show variables like 'char%';命令查看结果如下:
+--------------------------+---------------------------------------+
| Variable_name | Value |
+--------------------------+---------------------------------------+
| character_set_client | gbk |
| character_set_connection | gbk |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | gbk |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | D:mysql-5.1.32-win32sharecharsets |
客户端连接环境设置算是完成了。接着中文数据该怎么插还是怎么插,不会再有乱码出现。
至于从.sql.txt等文本批量导入数据,则需要将相应的文件转化为gbk格式保存再导入,否则导入后会乱码
相关文章推荐
- navicat for mysql 导入SQL Server显示中文乱码解决办法
- navicat for mysql 显示中文乱码解决办法
- navicat for mysql 显示中文乱码解决办法
- navicat for mysql 显示中文乱码解决办法
- navicat for mysql 显示中文乱码解决办法
- navicat for mysql 显示中文乱码解决办法
- navicat for mysql 显示中文乱码解决办法
- navicat for mysql中不能显示中文的解决
- 解决MySQL客户端输出窗口显示中文乱码问题的办法
- MySQL客户端输出窗口显示中文乱码问题解决办法
- Navicat for mysql 显示中文乱码问题
- 使用 Navicat 连接 MySQL ,已存在的数据库中 comment 中文信息乱码的解决办法
- mysql中文乱码,mysql中文但是网页显示乱码解决办法
- mysql查询表中文显示乱码的解决办法
- navicat for mysql中不能显示中文的解决
- MySQL客户端输出窗口显示中文乱码问题解决办法
- MySQL客户端输出窗口显示中文乱码问题解决办法
- MySQL客户端输出窗口显示中文乱码问题解决办法
- mysql在控制台中文显示乱码的解决办法