读书人

jsp 联接MySql 出现乱码

发布时间: 2013-03-27 11:22:42 作者: rapoo

jsp 连接MySql 出现乱码?
连接数据库的URL:conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/shop? useUnicode=true&characterEncoding=gb2312","root","root");

jsp中:<%@ page language="java" contentType="text/html; charset=gb2312" import = "com.jxau.shopping.vo.User,java.sql.*"
pageEncoding="gb2312"%>

request.setCharacterEncoding("gb2312");


输入中文老出现异常:java.sql.SQLException: Incorrect string value: '\xBB\xC6\xD0\xC0\xB9\xE2' for column 'username' at row 1
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1073)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3609)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3541)
at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2002)
at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2163)
at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2624)
at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:2127)
at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2427)
at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2345)
at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2330)
at com.jxau.shopping.vo.User.save(User.java:70)
at org.apache.jsp.register_jsp._jspService(register_jsp.java:74)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:388)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:861)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:606)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
at java.lang.Thread.run(Unknown Source)
java.sql.SQLException: Incorrect string value: '\xBB\xC6\xB0\xA2\xCB\xB9' for column 'username' at row 1
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1073)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3609)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3541)
at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2002)
at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2163)
at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2624)
at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:2127)


at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2427)
at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2345)
at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2330)
at com.jxau.shopping.vo.User.save(User.java:70)
at org.apache.jsp.register_jsp._jspService(register_jsp.java:74)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:388)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:861)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:606)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
at java.lang.Thread.run(Unknown Source)



谁能帮忙解决:困惑好久,全部改为UFT-8也不行


[解决办法]
如果是乱码问题导致,你去看看你的这张表的字符集是什么,另外在看看username这个字段的字符集是什么。
Mysql支持对数据库、表、表中的字符字段都设置编码集的。去看看
[解决办法]
看安装的时候选择的编码还有工程里面的编码 tomcat里面也有 都看一下是写什么格式的编码

[解决办法]
您需要为你的表选择一个utf8_*字符集。
例如:


CREATE TABLE 'document' (
'id' int(10) unsigned NOT NULL AUTO_INCREMENT,
'topic' varchar(128) COLLATE utf8_unicode_ci NOT NULL,
PRIMARY KEY ('id') USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;

[解决办法]
连接MYSQL数据库,乱码很正常;
主要是编码不一致导致的;
首先要确定你的数据库的编码,把数据库的编码设置为UTF8或者GBK或者GB2312,其次要把页面、action中的编码和数据库编码一致即可。
[解决办法]
前几天也遇到这样的问题 什么都改成UTF-8都不行 后来发现mysql在装的时候有个默认的编码格式是GB2312,把这个改了就好了,这个要是不改的话就算你的表的编码也是UTF-8也不行
[解决办法]
重新安装的时候有个选项,就是选择默认字符集的. 如果不选的话默认的是latin1.选成你所需要的,比如utf8就不会出现乱码
[解决办法]
引用:
引用:前几天也遇到这样的问题 什么都改成UTF-8都不行 后来发现mysql在装的时候有个默认的编码格式是GB2312,把这个改了就好了,这个要是不改的话就算你的表的编码也是UTF-8也不行



怎么改的
mysql server instance.....
------解决方案--------------------


是的,mysql安装要确定是不是utf-8,早几天我的也出问题了 然后重装改了就好

读书人网 >Java Web开发

热点推荐