mysql命令行以及mysql workbence查询结果中文乱码的解决方法
最近正在学习mysql,安装环境是windows server 2003 32位操作系统+mysql 5.1.47
同时也安装了mysql命令行以及mysql workbench
这里是test数据库
create table fortest(empno int auto_increment,empname nvarchar(20) not null,constraint pk_fortest primary key(empno))default charset=utf8;
然后插入了一条数据
set names character utf8;
insert into fortest(empno)values('欧阳菲菲');
发现插入不了,总是报错,具体错误如下:
这种情况主要是由于默认编码设置错误引起的。
现在就查看一下mysql服务器的配置情况吧。
具体命令就是
show variables like 'character%';
查出的结果如下:
具体解决方法:
使用MySQL命令行可以实现许多我们需要的功能,不过在使用MySQL命令行的时候,有一个问题是在MySQL命令行插入中文数据或者查询中文数据时出现乱码,或者显示不对。
在MySQL命令行输入:show variables like ‘character_set_%’;
查看当前配置的编码;
在MySQL命令行输入 :set names utf8;
则等同于
set character_set_client=utf8;
set character_set_results=utf8;
set character_set_connection=utf8;
这三条命令
在命令行插入数据之前
执行命令set names gbk;或者set names gb2312;
再插入
查询数据之前
执行命令set names gbk;或者set names gb2312;
完了之后再set names utf8;
这样就能正常插入和查询中文并且保持数据库编码为utf8
对于mysql workbench中的查询出现中文乱码主要是由于mysql服务器的配置中默认设置的编码不是utf8引起的,具体在windows操作系统下,要修改mysql安装目录下的my.ini
(linux下则是安装目录下的my.cnf文件)
主要修改的部分如下:
[client]
port=3306
[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="D:/Program Files/MySQL/MySQL Server 5.1/"
#Path to the database root
datadir="D:/MySQL/MySQL Server 5.1/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
具体修改的部分就是红色粗体字的文字部分。
转载自:http://blog.sina.com.cn/s/blog_8a3a624901018j83.html
mysql命令行以及mysql workbence查询结果中文乱码的解决方法的更多相关文章
- Mysql命令行中文乱码的解决方法
环境:Windows 8 64位,Mysql 5.0.96 for Win64 (x86) 数据库本身安装时默认已经是使用utf8编码的了,但在命令行中执行查询时,查询到的中文依然乱码,解决方法如下 ...
- 通过mysql命令行理解mysql
引言:工具不可谓给我们的生活带来了便利,但有些时候我们却忘记了事物本身的意义.在大多数人都在追捧甚至是盲从各种各样的工具有多先进的时候,你是否有反思过:你目前是否有使用它的资格. 假设你学会了使用一款 ...
- 30. CentOS终端命令行显示中文乱码的解决方法
安装CentOS的时候选择了中文,结果在终端不能显示中文,都是乱码,解决方法:修改/etc/sysconfig/i18n,内容为 代码如下: LANG="zh_CN.GB18030&qu ...
- MySQL命令窗口出现中文乱码的解决方法
查询表语句的时候,出现了中文乱码,但是用Navicat for MySQL查看的时候却是正常的,字符集都是设置的utf-8,如下图所示: 其实上大学学习java的时候也遇到了中文乱码但是却没有 ...
- CMD下查询Mysql中文乱码的解决方法
我的MySQL是默认utf8编码的,所建数据库也是设置utf8编码,使用程序可以新增中文数据,在cmd中使用SQL语句新增数据则报类似Incorrect string value: '\xB2\xE2 ...
- mysql中文乱码的解决方法
MySQL的字符集支持(Character Set Support)有两个方面: 字符集(Character set)和排序方式(Collation).对于字符集的支持细化到四个层次: 服务器(ser ...
- mysql 中文乱码的解决方法
添加或修改my.ini 配置文件,设置编码字符为utf8 ,默认为latin1,见红色字体 [mysql]# 设置mysql客户端默认字符集default-character-set=utf8 [my ...
- windows下命令行利器---Cmder(安装,中文乱码,配置右键菜单)
很多人都是在win下开发的,这样就会出现,经常需要命令行操作,而win cmd命令和linux命令有很大差异,导致大家很难受,今天给大家介绍一个win下命令行的利器-Cmder 一.先看一下它的容颜 ...
- 使用PDO连接数据库 查询和插入乱码的解决方法
问题:PDO连接数据库后,查询和插入中文到数据库,出现乱码,如图: 解决方法: 法1: try{ $opts_values = array(PDO::MYSQL_ATTR_INIT_COMMAND=& ...
随机推荐
- Scrum Meeting 14-20151227
说明 这几天我们代码人员一直在做数据库,没有来得及更新博客,从明天开始将会正常做scrum meeting,也将加快开发 工作,预计beta版本将会在12.30之前发布. 摘要 目前基本开发都已经做的 ...
- 使用时间戳和sequence生成主键的function
create or replace function fn_getKeyreturn varchar2is k varchar2(30);begin select to_char(sysdate, ...
- PostGIS导入导出SHP文件常用命令
SHP导入POSTGIS数据库 引用 直接导入数据库 shp2pgsql -I -s 2437 -W GBK shop_point.shp public.ntable | psql -U postg ...
- 【51nod】区间求和
LYK在研究一个有趣的东西. 假如有一个长度为n的序列,那么这个序列的权值将是所有有序二元组i,j的 Σaj−ai 其中1<=i<j<=n. 但是这个问题似乎太简单了. 于是LYK想 ...
- C# 基础知识总结
要学好C#,基础知识的重要性不言而喻,现将常用到的一些基础进行总结,总结如下: 1. 数据类型转换: 强制类型转换(Chart--> int): char cr='A'; int i = ...
- SQL Server 2012 联机丛书安装
已连接 Internet 的计算机: 单击"管理帮助设置"启动帮助库管理器. 在 Windows 7 中,依次选择"开始"."所有程序".& ...
- 数据挖掘算法(四)Apriori算法
参考文献: 关联分析之Apriori算法
- 将项目上传到git上,并在测试服务器上运行
上周我完成了我人生的第一个项目,并将它上传到gitHub上完成了团队合作.下面我将用倒叙的方法记录下,我的这段经历. 星期五,项目完成准备上传gitHub启动测试服务器. 1.git clone 项目 ...
- 仿W8屏保
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- Web cookie 详解
总结:服务端客户端变量建议都是用 utf-8字符集, 前后传递的变量都建议使用url编码处理.php setcookie 保存到客户端的变量会自动url编码的, 所以客户端获取后需要decodeURI ...