安装Mysql时 选的utf8   JSP文件也都是设置的utf-8  怎么向数据库添加中文书局的时候 要不就是乱码 要不就是添加不成功 何解?

解决方案 »

  1.   

    打断点看看,JSP页面传到你的Java处理时,得到的参数的显示格式是否正确?
      

  2.   

    你jsp有没有用过滤器设置所有参数UTF8编码?应该是这里的问题,你可以查查Servlet设置JSP参数编码
      

  3.   

    java.sql.SQLException: Incorrect string value: '\xC2\xB2\xC3\x81' for column 'name' at row 1
    at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1055)
    at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:956)
    at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3536)
    at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3468)
    at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1957)
    at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2107)
    at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2648)
    at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:2086) at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2371)
    at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2289)
    at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2274)
    at org.apache.jsp.booklist_jsp._jspService(booklist_jsp.java:103)
    at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
    at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:419) at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:391)
    at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:304)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:240)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:164)
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:498)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:164)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100)
    at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:562)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:394)
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:243)
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:188)
    at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:302)
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:885)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907) at java.lang.Thread.run(Thread.java:619)
    这个是信息
      

  4.   

    连接数据库的url
    这么写试试:
    jdbc:mysql://localhost:3306/(数据库名字)?useUnicode=true&characterEncoding=utf8
      

  5.   

    我知道了你数据库对应的表编码或者对应的字段采用的不是UTF8编码的,可以加我QQ 519582737帮你解决
      

  6.   

    数据库中的就应该是乱码,但是jsp页面中应该显示正常就行
      

  7.   

    一般我们写程序
    1,程序文件,jsp文件是utf-8编码的,jsp文件的头要设置utf-8编码类型
    2,数据库设置成utf-8
    满足以下两点,不会有乱码的存在的。
      

  8.   

    添加数据的代码前加入这句
    request.setCharacterEncoding("utf-8");
    JSP表头
    <%@ page language="java" pageEncoding="utf-8" contentType="text/html;charset=utf-8"%>这样一般就没什么问题了。
      

  9.   

    打个断点先调式一下,看看到底是在插入数据库之前就是乱码,还是插入之后就是乱码了!
    如果是还没插入数据库之前就是乱码了,那就首先把工程的编码全部设置成UTF-8,然后不行再加个过滤器.
    如果是插入之后就变了,那就重新安装一下MYSQL,安装的时候记得设置成UTF-8的编码格式.
      

  10.   

    tomcat 那个配置文件也设置下编码,应该就没啥问题了。具体文件是server.xml这个文件.
      

  11.   

    你先看在运用dos窗口中输入\s看一下你的数据库是否真的是utf-8编码,如果出现了latin1的编码的话,证明你的mysql其实并不是utf-8编码,你需要修改他的配置文件,关于修改他的配置文件这个网上多的是,在看你的IDE和jsp页面是不是也是utf-8,一般这种情况都是由于数据库和jsp页面还有IDE的编码不一致造成的。