ERROR 1366 (HY000): Incorrect string value:(
此种乱码解决方案如下:
首先,设置自己数据库的编码统一:
Connection id: 81
Current database:
Current user: root@localhost
SSL: Not in use
Using delimiter: ;
Server version: 5.0.67-community-nt MySQL Community Edition (GPL)
Protocol version: 10
Connection: localhost via TCP/IP
Server characterset: gbk
Db characterset: gbk
Client characterset: gbk
Conn. characterset: gbk
TCP port: 3306
随后到自己的表里面:
如我的这个表:content 表
+---------+-------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+---------+-------------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| ad | smallint(6) | NO | | 0 | |
| title | char(30) | YES | | NULL | |
| author | varchar(30) | YES | | NULL | |
| content | text | YES | | NULL | |
+---------+-------------+------+-----+---------+----------------+
mysql> insert into content(title,author,content) values('插入成','修改于','文字符');
立刻报错:
ERROR 1366 (HY000): Incorrect string value: '\xD0\xDE\xB8\xC4\xD3\xDA' for colum
n 'author' at row 1
mysql> insert into content(title,author,content) values('插入成','修改于','文字
符');
ERROR 1366 (HY000): Incorrect string value: '\xD0\xDE\xB8\xC4\xD3\xDA' for colum
n 'author' at row 1
解决方案:
mysql> alter table content modify author varchar(30) character set gbk;
对,就是这一句代码。很实用的,将表里面的所有列都进行一次这样的“洗礼”,大功告成!
不,还没完,页面需要声明用GBK或者GB2312编码,而且在页面需要进行转码:
String content1 = new String(request.getParameter("content1").getBytes("ISO-8859-1"));
页面读取不需要转码,写入需要转码
*******这个就是编码的问题,可能在装MySql 的时候选择的是默认的编码,或者你选择的UTF8,所以在插入数据的时候出现编码的错误,解决方法是找到Mysql的安装目录下的my.ini文件,把里面的default-character-set=GBK 但是需要注意,这里设成GBK之后在页面里面也需要设成GBK,否则会出现编码不一致,会出现乱码。*******
以上摘自:http://apps.hi.baidu.com/share/detail/4794512
总结一下,进入mysql控制台后查看某表的字段出现中文乱码时,若该字段为abc,类型为char(1),则:
mysql> alter table content modify abc char(1) character set gbk;
然后再:
mysql> charset gbk;
这样再次查询表时就不会出现中文乱码了,jsp页面里也正常显示了。
今天晚上装载数据的时候又出现了问题(新建的数据库),折腾了好久都没成功,后来和中午的那个数据库对比了一下。
查看数据各相关字符编码:show variables like '%char%';
SET NAMES用于把三个会话系统变量character_set_client,character_set_connection和character_set_results设置为给定的字符集。
我先是执行了:set names gbk;
还是没用,又show variables like '%char%';原来新的这个数据库的编码不是gbk;
设置某个数据库的编码:alter database testdb character set gbk;
结果可以装载数据了,呵呵!
分享到:
相关推荐
在使用数据库进行数据操作时,有时会遇到错误提示"Incorrect integer value: '' for column 'id' at row 1"。这个错误通常出现在尝试插入数据到一个整数类型的列时,而该列期望的是一个整数值,但提供的值是空字符串...
ERROR 1366: 1366: Incorrect string value: ‘\xE6\xB0\xB4\xE7\x94\xB5…’ for column ‘introduce’ at row 1 这是因为mysql编码的问题 打开mysql mysql -u root -p 输入密码后,输入下面这一行代码来显示...
解决出现Incorrect integer value: ” for column ‘id’ at row 1的问题 前言: 今天在学习Python的过程中操作数据库,遇到了一个问题,执行sql语句插入数据的时候报错Incorrect integer value: ” for column ‘id...
主要给大家介绍了关于MySQL存储表情时报错:java.sql.SQLException: Incorrect string value: 'xF0x9Fx92xA9x0Dx0A...'的解决方法,文中通过示例代码介绍的非常详细,需要的朋友可以参考借鉴,下面来一起看看吧。
MySQL数据库在处理字符串数据时,可能会遇到“Incorrect string value”这样的乱码问题,这通常是由于字符集不匹配或不兼容导致的。字符集是决定如何存储、解析和显示字符的规则集,对于支持多语言环境的系统,尤其...
Cause: java.sql.SQLException: Incorrect string value: '\xF0\x9F\x8C\xB7' for column 'nickname' at row 1 解决方案 修改nickname的编码格式,没必要修改整个表。这种方式也不需要重启数据库,修改完即生效 ...
由于这个数据库服务器存放的数据库比较多且都是小数据库,...insert into doc_main (title,typeid,uptime,intro,ifhot,imgurl1,doctype,fileurl1,shunxu,titleurl,qitype) values(‘test’,’13’,’2011-5-30′,’tes
ERROR SqlExceptionHelper:147 Incorrect string value: '\xE6\xB2\xA1\xE5\x90\x83' for column 'others' at row 1 org.springframework.orm.jpa.JpaSystemException: could not execute statement; nested ...
使用javabean出现以下错误, 66480555 [http-80-4] WARN org.hibernate.util....Incorrect string value: ‘\xE7\x89\xA9\xE8\xB5\x84…’ for column ‘search’ at row 1 org.hibernate.exception.Gener
在本例中,报错信息为“Incorrect string value :'\xE5\x8F\xAC' for column 'XXX' at row 1”,这通常意味着尝试插入的文本包含了MySQL无法识别的字符编码,或者字段类型不能容纳特定的字符序列。 首先,我们需要...
今天,使用mysql workbench 给一张表添加了一列varchar类型的列。在插入中文数据时出现 这是编码问题,只要将表的类型修改为utf-8就ok了。 alter table 数据库名.... 执行完这条语句之后就可以插入中文数据啦。...
本文主要介绍了关于MySQL存储表情报错:java.sql.SQLException: Incorrect string value: ‘\xF0\x9F\x92\xA9\x0D\x0A…’的相关解决方法,分享出供大家参考学习,下面话不多说了,来一起看看详细的介绍: ...
最近,业务方反馈有个别用户信息插入失败,报错提示类似”Incorrect string value:”\xF0\xA5 ….. ” 看这个提示应该是字符集不支持某个生僻字造成的。 下面是在虚拟机里复现的场景: step1、模拟原始表结构字符集...
这个时候插入的是中文,系统会报告错误:Incorrect string value: ‘\xB1\xB1\xBE\xA9’ for column ‘b’ at; 这个不能插入中文。如果该语句写在了一个文本文件中进行批处理操作,保存的编码是默认的话也会出现...
在PowerBuilder 12.5(简称PB12.5)开发过程中,遇到“Line 130 Column 487 incorrect syntax”错误是一种常见的编程问题。这种错误通常出现在数据窗口(DataWindow,简称DW)对象的编译阶段,提示在指定的行号和列...
在MySQL数据库操作中,有时会遇到“1366 Incorrect string value…”的错误提示,这通常是由于字符编码不匹配导致的。错误发生时,表明正在尝试插入的数据包含无法被当前数据库或表的字符集识别的字符。在Windows...
MySQL错误1366 - Incorrect integer value 是一个常见的数据库错误,通常发生在尝试插入或更新数据时,如果提供的值与目标字段的数据类型不匹配,特别是当试图将非整数值(如空字符串'')插入到整数字段时,就会出现...
这个是我遇到问题后修改了的.ini文件。因为自己在改的时候也是错了好多次,试过去试过来都不行。所以我把我改过的.ini文件上传,希望能帮到跟我一样的小白,在搞不动的时候还有一条出路。 当然如果懒得自己改也可以...
首次创建好table后,向表中插入汉字内容时会提示:ERROR 1366 (HY000): Incorrect string value: ‘\xE6\x8C\x82\xE6\x9C\xBA’ for column ‘name’ at row 1,表示’name’这列插入的汉字无法被编码。 原因: ...