环境:WEBSPHERE5.1,设置的默认字符集是GBK有两个页面
第一个页面有一个广框,文本框的内容是从数据库里取出的
<input name="clname" type=text value="<%=rs.getString(1)%>">
点提交,提交到第二个页面:第二个页面用来接收第一个页面的表单提交的内容如下:
String aaa = request.getParameter("clname");
out.print(aaa);
System.out.print(aaa);
out.close();问题:
当在第一个页面里输入"桑塔纳"的时候
第二个页面的显示:桑塔纳,在WEBSPHERE的日志文件SystemOut.log里显示也是"桑塔纳"当在第一个页面里输入"丰田霸道"的时候
第二个页面的显示:丰田霸道,在WEBSPHERE的日志文件SystemOut.log里显示却是形如"&#30945,&#49344,&#20393,&#34945"的鬼东西
输入"测试"两个字的时候也是这样,有乱码,这问题也太夸张了吧!请高手赐教,小弟不胜感激!

解决方案 »

  1.   

    "&#30945,&#49344,&#20393,&#34945 是直接写给浏览器看的, 当你的服务器用  ISO-8859-1 处理时,不能直接看非英文字符,它就全都转化成 &#xxxx 了.
      

  2.   

    编码方式的问题啦,介绍编文章给你看吧.看完了如果还搞不定再问吧.http://www.javaresearch.org/article/showarticle.jsp?column=106&thread=19240
      

  3.   

    再说情况是这样:
        比如说表里有一个字段要存放姓名, VARCHAR(10),存放中国的人名足够了吧,上面所说的情况一旦发生,那么生成的SQL语句就会变成这样
    insert into table_name (xm) values ('"&#30945,&#49344,&#20393,&#34945');而正常情况下应该生成的是这样才对:
    insert into table_name (xm) values ('欧阳大明');那么在第一种情况下只有把字段设置成100以上就能正常运行了,但这样明显不太合适, 我想知道各位大侠都是怎么解决这种问题的?
      

  4.   

    兄弟,先把问题解决了吧,基本上可以肯定是在getParameter那里出来的问题.
    实践是检验真理的唯一标准,动手先吧
    理论嘛,有时间再谈:)