往数据库里面数据,插入英文的时候没有任何问题,但是插入中文的时候就报错了。检查了一下,是编码的问题。但是编码实在是很复杂。通过以下方法可以将中文插入到数据库中,但是从数据库中取出来后依然是乱码:
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: ‘\xF0\x9F\x92\xA9\x0D\x0A…’的相关解决方法,分享出供大家参考学习,下面话不多说了,来一起看看详细的介绍: ...
主要给大家介绍了关于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安装后,保存删除表数据总是出现#1929 Incorrect datetime value: ” for column ‘createtime’ 的报错提醒,导致不能删除表里数据; 原因分析: 5以上的版本如果时期时间是空值应该要写NULL; 官方解释说...
主要介绍了解决出现Incorrect integer value: '' for column 'id' at row 1的问题的相关资料,希望通过本文能帮助到大家,让大家遇到这样的问题及时的解决,需要的朋友可以参考下
最近,业务方反馈有个别用户信息插入失败,报错提示类似”Incorrect string value:”\xF0\xA5 ….. ” 看这个提示应该是字符集不支持某个生僻字造成的。 下面是在虚拟机里复现的场景: step1、模拟原始表结构字符集...
PB12.5 dw 报错Line 130 Column 487 incorrect syntax问题解决
从新浪微博抓到的数据在入库的时候抛出异常: Incorrect string value: ‘\xF0\x90\x8D\x83\xF0\x90…’ 发现导致异常的字符不是繁体而是某种佛经文字。。。额滴神。。。但是按道理UTF-8应该能支持才对啊,他不是...
主要给大家介绍了关于tomcat启动报:java.util.zip.ZipException错误的解决方法,文中通过示例代码介绍的非常详细,同样遇到这个问题的朋友可以参考借鉴,下面随着小编来一起学习学习吧
我的MySQL安装后,保存删除表数据总是出现#1929 Incorrect datetime value: '' for column 'createtime' 的报错提醒,导致不能删除表里数据。下面小编给大家分析原因及解决办法,需要的朋友可以参考下
这里一共显示了4中字符集,Server characterset是数据库服务器的编码,DB characterset是数据库的编码,client characterset是客户端的编码,conn characterset是建立连接时使用的编码。为了很好的兼容英文和中文...
异常详细信息: EnterpriseDT.Net.Ftp.FTPException: plan/??_SV_201011121502.DNJH: The filename, directory name, or volume label syntax is incorrect
报错libpng warning: iCCP: known incorrect sRGB profile的问题
在插入中文数据时出现 这是编码问题,只要将表的类型修改为utf-8就ok了。 alter table 数据库名.表名 convert to character set utf8; 执行完这条语句之后就可以插入中文数据啦。 如果多张表存在这个问题可以直接...
这个时候插入的是中文,系统会报告错误:Incorrect string value: ‘\xB1\xB1\xBE\xA9’ for column ‘b’ at; 这个不能插入中文。如果该语句写在了一个文本文件中进行批处理操作,保存的编码是默认的话也会出现...
由于这个数据库服务器存放的数据库比较多且都是小数据库,所以最初的时候是运行在windows服务器上的。前一段时间由于机房服务器要做调整,于是我便在一个夜深人静的夜晚对数据库进行的迁移及前台应用程序进行了调整...
主要介绍了关于mysql报错1033 Incorrect information in file: 'xxx.frm'问题的解决方法,文中通过示例代码介绍的很详细,需要的朋友可以参考借鉴,下面来一起看看吧。
能使用中文进行搜索,但是insert into 中文是可以的。我的数据库和数据表中所有的charset都是设置的utf8。
报错原因: windows 安装MySQL 时选择的是默认编码,创建数据库也选择默认编码,导致该库的编码默认为gbk.该库下的表默认也会是gbk,字段默认也是gbk. 解决方法: 第一种方法是windows在安装MySQL的bin目录下my.ini...