mysql 错误提示1366 Incorrect string value: '....' for column 'VARIABLE_VALUE' at row1, 那个V找不到

Incorrectstringvalue:'\xD6\xD0\xB9\xFA\xB1\xEA...'forcolumn'VARIABLE_VALUE'atrow1完整错误... Incorrect string value: '\xD6\xD0\xB9\xFA\xB1\xEA...' for column 'VARIABLE_VALUE' at row 1
完整错误提示,我建的数据库里没有这个码,找来找去只有系统的库里有这个,我照网上说的把那个系统表里的VARIABLE_VALUE这一属性的字符集全改成了utf8,但是没用,而且原来只有一行错误,现在连接前一行,连接后一行,急死了,都纠结两个多小时了,在线等高人求解,我都想砸电脑了
展开
 我来答
hqs1074879733
2012-03-06 · TA获得超过202个赞
知道小有建树答主
回答量:171
采纳率:0%
帮助的人:173万
展开全部
mysql中文显示问题[ERROR 1366 (HY000):错误

mysql[ERROR 1366 (HY000):错误]中文显示问题

mysql的字符集用utf8也解决不了中文的编码问题,用gbk才能解决。所以总结一下如果更改编码:
停掉mysql服务,修改my.ini文件,修改两处default-character-set=gbk。启动mysql服务。再次插入,还是有问题。

用status看了一下:

mysql> status;

原来
Connection id: 25

Current database: order_movie_ticket

Current user: root@localhost

SSL: Not in use

Using delimiter: ;

Server version: 5.1.45-community MySQL Community Server (GPL)

Protocol version: 10

Connection: localhost via TCP/IP

Server characterset: utf8

Db characterset: utf8

Client characterset: gbk

Conn. characterset: gbk

TCP port: 3306

Uptime: 6 min 31 sec

虽然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

------------------------------------------------------------

这样改应该就可以了。
追问
大哥,你从哪复制的,认真点好吧,我很认真的
薄荷白苏
2018-04-09 · TA获得超过1.1万个赞
知道小有建树答主
回答量:49
采纳率:100%
帮助的人:1.2万
展开全部
  1. 这个就是编码的问题,可能在装MySql 的时候选择的是默认的编码,或者你选择的UTF8,所以在插入数据的时候出现编码的错误。解决方法是找到Mysql的安装目录下的my.ini文件,把里面的default-character-set=GBK 但是需要注意,这里设成GBK之后在页面里面也需要设成GBK,否则会出现编码不一致,会出现乱码

  2. 利用前端工具修改每个字段的格式都是gbk,因为你要利用cmd工具来insert数据。

MySQL 1366错误大致描述如下:    

SQL Error: 1366: Incorrect string value: "\xE8\xAF\xA6\xE7\xBB\x86…" for column "address" at row 1  

数据库此字段的字符集与整理字符集是否与SQL语句传递数据的字符集相同;不相同则会引发MySQL1366错误。  

MySQL 1366 错误解决办法  :

#检查数据表所有字段的状态  

->show full columns from phplamp;  

#发现address字段的Collation项非utf8,修改它!  

>alter table phplamp change name name varchar(100) character set utf8 collate utf8_unicode_ci not null default '';  

修改完字段的字符集后可以再使用show full columns from table_name命令检查一下,以确保万无一失。假如您的SQL字符集为GBK或是GB2312或是其它的话,只需要将数据表字段的字符集更改为其相应的编码即可。  

再送上一个MySQL的命令:  修改数据表的字符集与整理    

->show full columns from table_name;  

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
汪雄辉拉
2012-03-06 · TA获得超过2966个赞
知道大有可为答主
回答量:1430
采纳率:0%
帮助的人:1746万
展开全部
追问:大哥,你从哪复制的,认真点好吧,我很认真的
----------------------------------------------------------------
楼主,你太幽默了,

请做一下操作:

show variables like '%char%';

show create table tbname;

把显示的信息贴出来
追问
我用的toad for mysql啊,这命令要用提示符敲的吧
追答
对,最好是登陆到mysql命令行操作
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
生家0J3
2012-12-04
知道答主
回答量:7
采纳率:0%
帮助的人:1.1万
展开全部
先敲入命令 set names gb2312; 后再插入中文。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式