mysql中文乱码问题1366错误
2013-11-14 21:58
417 查看
今天在使用mysql的时候遇到了1366错误,后来终于解决,在zhemysql的字符集用utf8也解决不了中文的编码问题,用gbk才能解决。所以总结一下如果更改编码:
停掉mysql服务,修改my.ini文件,修改两处default-character-set=gbk。启动mysql服务。再次插入,还是有问题。
用status看了一下:
mysql> status;
原来
Current database: order_movie_ticket
Server characterset: utf8
Db characterset: utf8
Client characterset: gbk
Conn. characterset: gbk
虽然Client characterset和Conn. characterset都改成了gbk, Db characterset的字符集还是utf8,所以仍出现中文乱码。
所以要把它设回gbk,用alter命令。
mysql> alter database order_movie_ticket character set gbk;
因为只改了order_movie_ticket这一个db,所以直接用status查结果还是Db characterset的字符集为utf8,但是若转入order_movie_ticket,只看他自己的
mysql> use order_movie_ticket;
再用status看一下,这回对了。再次插入数据,这回正确了。
要注意的是以上改的前提是database order_movie_ticket里是空的,如果它的一些表里已经有数据就不能只改db了,还要用alter命令改相应的table,
如:mysql> alter table movie character set gbk;
可以通过如下命令
mysql> show create table movie; 来看表的create命令形式的结构和表的字符集。
----------------------------------------------------------
movie | create table 'movie' (
'movie_id' bigint(20) not null auto_increment,
'name' varchar(50) not null,
'actor' varchar(100) not null,
'director' varchar(30) not null,
'classification' varchar(30) default null,
'story' varchar(200) default null,
'valid' char(1) not null default 'Y',
primary key ('movie_id')
) ENGINE=InnoDB DEFAULT CHARSET=gbk
------------------------------------------------------------
这样就可以了。
停掉mysql服务,修改my.ini文件,修改两处default-character-set=gbk。启动mysql服务。再次插入,还是有问题。
用status看了一下:
mysql> status;
原来
Current database: order_movie_ticket
Server characterset: utf8
Db characterset: utf8
Client characterset: gbk
Conn. characterset: gbk
虽然Client characterset和Conn. characterset都改成了gbk, Db characterset的字符集还是utf8,所以仍出现中文乱码。
所以要把它设回gbk,用alter命令。
mysql> alter database order_movie_ticket character set gbk;
因为只改了order_movie_ticket这一个db,所以直接用status查结果还是Db characterset的字符集为utf8,但是若转入order_movie_ticket,只看他自己的
mysql> use order_movie_ticket;
再用status看一下,这回对了。再次插入数据,这回正确了。
要注意的是以上改的前提是database order_movie_ticket里是空的,如果它的一些表里已经有数据就不能只改db了,还要用alter命令改相应的table,
如:mysql> alter table movie character set gbk;
可以通过如下命令
mysql> show create table movie; 来看表的create命令形式的结构和表的字符集。
----------------------------------------------------------
movie | create table 'movie' (
'movie_id' bigint(20) not null auto_increment,
'name' varchar(50) not null,
'actor' varchar(100) not null,
'director' varchar(30) not null,
'classification' varchar(30) default null,
'story' varchar(200) default null,
'valid' char(1) not null default 'Y',
primary key ('movie_id')
) ENGINE=InnoDB DEFAULT CHARSET=gbk
------------------------------------------------------------
这样就可以了。
相关文章推荐
- MySql中文乱码错误 mysql error 1366 incorrect string value 不能插入中文字符
- linux下mysql中文错误或乱码问题解决
- mysql 1366错误,保存中文乱码的解决方法
- MySQL开发遇到常见问题 连接数据库错误、无法插入值 中文乱码 ??
- 开源电商 OFBiz (Mysql)Idea安装过程及问题(中文乱码,500 GenericEntityException jdbc,Visitor错误处理)
- MySQL问题记录--python插入中文至MySQL提示SQLErroor:1366错误
- 关于Mysql插入中文时报错代码为1366的相关处理及插入中文乱码问题相关处理
- linux下的mysql中文乱码问题解决
- phpmyadmin显示mysql 中文乱码问题
- MySql 5.6 版本 2016-07 修改配置文件解决中文乱码问题
- xampp下mysql设置密码以及解决中文乱码问题
- MySql插入数据,中文乱码问题
- python django MySQLdb 连接 mysql 5.5 中文乱码问题的解决
- mysql字符集修改方法&中文乱码问题
- python查询mysql中文乱码问题
- 解决hibernate向mysql插入中文乱码问题
- MySQL字符集 GBK、GB2312、UTF8区别 解决MYSQL中文乱码问题
- mac mysql中文乱码问题
- php读mysql中文乱码问题解决方法
- mysql中文乱码问题彻底解决