往数据库里面数据,插入英文的时候没有任何问题,但是插入中文的时候就报错了。检查了一下,是编码的问题。但是编码实在是很复杂。通过以下方法可以将中文插入到数据库中,但是从数据库中取出来后依然是乱码:
1,在mysql里面将my.ini文件设置:
default-character-set=GBK
,共两项。
2,在jsp界面中,设置:
<%@page contentType="text/html;charset=utf-8"%>
3,在创建表的时候,要在表的最后加上DEFAULT CHARSET=utf8如,(也可以在字段后面加上character set utf8)。切忌在建表的时候加上,如果之前没有加上,再后来:alter table default charset=utf8可能没有起作用,应该删掉重建:
CREATE TABLE d_order (
id int(10) NOT NULL auto_increment,
user_id int(10) NOT NULL,
status int(10) NOT NULL,
order_time bigint(20) NOT NULL,
order_desc varchar(100) default NULL,
total_price double NOT NULL,
receive_name varchar(100) default NULL,
full_address varchar(200) default NULL,
postal_code varchar(8) default NULL,
mobile varchar(20) default NULL,
phone varchar(20) default NULL,
PRIMARY KEY (id)
) DEFAULT CHARSET=utf8;
在一番研究之后,发现不是从数据库中读出来的是乱码,而是在储存的时候就已经是乱码了。因此在插入数据库之前,对数据进行处理了一下:
byte[] fullAddressbytes = address.getFullAddress().getBytes("iso-8859-1");
byte[] receiveName =address.getReceiveName().getBytes("iso-8859-1");
address.setFullAddress(new String(fullAddressbytes,"utf-8"));
address.setReceiveName(new String(receiveName,"utf-8"));
这样存进数据库的就不再是乱码,而是正常的中文字符。读出来的时候也是正常的。
分享到:
相关推荐
主要给大家介绍了关于MySQL存储表情时报错:java.sql.SQLException: Incorrect string value: 'xF0x9Fx92xA9x0Dx0A...'的解决方法,文中通过示例代码介绍的非常详细,需要的朋友可以参考借鉴,下面来一起看看吧。
今天在学习Python的过程中操作数据库,遇到了一个问题,执行sql语句插入数据的时候报错Incorrect integer value: ” for column ‘id’ at row 1 我的数据库设计是这样的: 一个很简单的用户信息表,其中ID是int...
Cause: java.sql.SQLException: Incorrect string value: '\xF0\x9F\x8C\xB7' for column 'nickname' at row 1 解决方案 修改nickname的编码格式,没必要修改整个表。这种方式也不需要重启数据库,修改完即生效 ...
本文主要介绍了关于MySQL存储表情报错:java.sql.SQLException: Incorrect string value: ‘\xF0\x9F\x92\xA9\x0D\x0A…’的相关解决方法,分享出供大家参考学习,下面话不多说了,来一起看看详细的介绍: ...
最近,业务方反馈有个别用户信息插入失败,报错提示类似”Incorrect string value:”\xF0\xA5 ….. ” 看这个提示应该是字符集不支持某个生僻字造成的。 下面是在虚拟机里复现的场景: step1、模拟原始表结构字符集...
在使用数据库进行数据操作时,有时会遇到错误提示"Incorrect integer value: '' for column 'id' at row 1"。这个错误通常出现在尝试插入数据到一个整数类型的列时,而该列期望的是一个整数值,但提供的值是空字符串...
然而,在实际操作中可能会遇到中文字符无法正常插入数据库的问题,通常表现为错误提示“Incorrect string value”等。本文将详细探讨这一问题的原因,并提供一系列解决方案。 #### 错误现象描述 当尝试向MySQL...
在MySQL 5.x及以上版本中,用户可能会遇到错误#1929,提示"Incorrect datetime value: '' for column 'createtime'"。这个错误通常出现在尝试插入或更新包含日期时间值的列时,如果该列的值为空,而数据库配置不允许...
MySQL数据库在处理字符串数据时,可能会遇到“Incorrect string value”这样的乱码问题,这通常是由于字符集不匹配或不兼容导致的。字符集是决定如何存储、解析和显示字符的规则集,对于支持多语言环境的系统,尤其...
在本例中,报错信息为“Incorrect string value :'\xE5\x8F\xAC' for column 'XXX' at row 1”,这通常意味着尝试插入的文本包含了MySQL无法识别的字符编码,或者字段类型不能容纳特定的字符序列。 首先,我们需要...
使用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: ‘\xF0\x90\x8D\x83\xF0\x90…’ 发现导致异常的字符不是繁体而是某种佛经文字。。。额滴神。。。但是按道理UTF-8应该能支持才对啊,他不是...
1.采集站的数据库 2.无数据时搬家没问题,有采集数据后搬家,个别菜单报错 解决过程 0.各种度娘,谷哥,无果。 1.原站数据库版本5.0,新家数据库版本4.2,猜测版本不对,重装环境。无效。 2.客户提供的备份是...
这个错误信息 "Incorrect datetime value: '' for column 'createtime'" 指出,你试图向名为 'createtime' 的日期时间类型列插入一个空字符串 '',而MySQL无法接受这种格式的空值。在MySQL 5.x及以上版本,特别是当...
在MySQL数据库中,当尝试向一个`text`类型的字段插入数据时,如果遇到"Incorrect string value: '\xE5\x8F\xAC'"这样的错误,这通常意味着你正在尝试存储的字符串包含不受支持或者编码不正确的字符。这个错误信息...
在插入中文数据时出现 这是编码问题,只要将表的类型修改为utf-8就ok了。 alter table 数据库名.表名 convert to character set utf8; 执行完这条语句之后就可以插入中文数据啦。 如果多张表存在这个问题可以直接...
在PowerBuilder 12.5(简称PB12.5)开发过程中,遇到“Line 130 Column 487 incorrect syntax”错误是一种常见的编程问题。这种错误通常出现在数据窗口(DataWindow,简称DW)对象的编译阶段,提示在指定的行号和列...
这个时候插入的是中文,系统会报告错误:Incorrect string value: ‘\xB1\xB1\xBE\xA9’ for column ‘b’ at; 这个不能插入中文。如果该语句写在了一个文本文件中进行批处理操作,保存的编码是默认的话也会出现...
由于这个数据库服务器存放的数据库比较多且都是小数据库,所以最初的时候是运行在windows服务器上的。前一段时间由于机房服务器要做调整,于是我便在一个夜深人静的夜晚对数据库进行的迁移及前台应用程序进行了调整...