楼主此问题我之前遇到过,进入数据库,查看数据库的编码格式,应该是拉丁,改成utf-8,就可以了。当年为了这个问题求哥哥拜姐姐好几天。最后还是自己一步步排查出来的,哈哈,祝你好运

解决方案 »

  1.   

    数据库没问题了,在action中是数据是正确的。
    那么就是在传值到jsp的时候编码出问题了。
    1.看下工程的编码是否是utf-8
    2.不行的话,就写个过滤器或拦截器处理一下编码问题。
      

  2.   

    private String dbUrl = "jdbc:mysql://localhost:3306/BOOK?Unicode=true&characterEncoding=UTF-8"把UTF-8改成utf8试试。。
      

  3.   

    在dao里取值的时候做下编码转换就可以了.
    比如第一个字段是中文值
    rs.getString(1).getBytes("iso-8859-1"),"GBK");
    然后再赋值给javabean,展示中文就正常了.
    这个问题我前几天遇到了,也是这么解决的.
      

  4.   

    <meta http-equiv="content-type" content="text/html;charset=utf-8"> html页面有这句没?
      

  5.   

    给你点排查的方法。
    1.后台写个中文字符串,直接前台取,查看是否乱码。
    2.在jsp上查看properties,就是alt+enter快捷键,查看编码是否为utf-8
    我之前遇上了韩文乱码,经过struts一处理就变成乱码、、、
    暂时我就想到这两点,希望能对你有点帮助
      

  6.   

    1、数据库编码方式
    2、web服务器编码方式
    3、页面编码方式
    以上都没问题,你用转码试下s.getBytes("iso-8859-1"),"GBK");
      

  7.   

    看看你的TOMCAT的配置文件用的什么编码格式
    \tomcat\conf\server.xml
      

  8.   

    找个已经把值传进去的,通过System.out.print(book.id)输出一下看看会不会出现乱码,如果不会就连接数据库写上jdbc:mysql://localhost:3306/showbook?characterEncoding=utf-8这样的格式,试一试
      

  9.   

    设置下后台到页面的渲染字符格式
    response.setContentType("text/html;charset=utf-8");
      

  10.   

    因为后台打印的编码是对的,所以可以排除数据库的问题,关键是你怎样把后台得到 的数据传给前台的,Tomcat传输数据默认的编辑是iso-8859-1,所以可能是这里的问题