试着在联接后边加
“?useUnicode=true;characterEncoding=8859_1”
不过不知有没有试过iso_8859_1编码没呢?

解决方案 »

  1.   

    <form action="TestMyJavaBean.jsp" method="POST">
    <input type="text" name="newname" maxlength=59 value='<%= tempName %>'>
    </form>这样提交的,页面的
    <meta http-equiv=Content-Type content="text/html; charset=utf-8">
    to:kill8108(日月)
    试了,没用。
      

  2.   

    使用过滤器把客户端提交来的数据转成UTF-8,这样程序中处理的就是UTF-8了。——只需要更改过滤器,其他程序不用改。
    然后往数据库中写入的时候使用什么就要看数据库了,如果数据库使用unicode编码就可以直接写入,如果数据库使用的不是unicode,你就必须转换编码,转换编码可以使用Java的reflection机制来做到,这样只需要更改数据库连接的地方就可以了,而不用像下面这样写:
    rs.setString(1, new String(myStr.getBytes("UTF-8"), "ISO-8859-1"));
    。至于这个利用reflection机制来做的可以参考ibm开发者社区的一篇这样的文章,如果你觉得麻烦,我可以提供给你一个可以重用包。
      

  3.   

    to:redv(想不出来,就出去转转)谢谢先,你能不能把这个重用包发给我!ibm开发者社区--有没有网址呢?
      

  4.   

    http://www.upas.org/java/DatabaseEncodingProblemSolution/