加入收藏 | 设为首页 | 会员中心 | 我要投稿 威海站长网 (https://www.0631zz.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

mysql命令行以及mysql workbence查询结果中文乱码的解决方法

发布时间:2022-12-04 03:02:46 所属栏目:MySql教程 来源:互联网
导读: table fortest(empno intauto_increment,empname nvarchar(20) not null,constraint pk_fortestprimary key(empno))default charset=utf8;
然后插入了一条数据
set names character utf8;

table fortest(empno intauto_increment,empname nvarchar(20) not null,constraint pk_fortestprimary key(empno))default charset=utf8;

然后插入了一条数据

set names character utf8;

insert into fortest(empno)values('欧阳菲菲');

发现插入不了mysql命令行,总是报错,具体错误如下:

这种情况主要是由于默认编码设置错误引起的。

现在就查看一下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

对于mysqlworkbench中的查询出现中文乱码主要是由于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 resolvedrelative 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 ortable is

# created and no character set is defined

default-character-set=utf8

具体修改的部分就是红色粗体字的文字部分。

(编辑:威海站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!