日期:2014-05-18  浏览次数:20582 次

新手请教!!!小问题啊!!!!
HTML页面提交中文变量值到servlet生成页面可以正常显示提交的中文值,但是原本servlet里设定好的中文却都是?号了!!
如果在servlet文件里加上response.setContentType( "text/html;charset=GBK ");后设定好的中文可以正常显示但是提交的中文变量都是?号了!!

请教怎么解决呀???

------解决方案--------------------
你的servlet本身是编码是GBK吗?可以试试用转码试试
s=new String(s.getBytes( "IS08859-1 "), "GBK ");
------解决方案--------------------
编码要一致,servlet默认的内部编码是ISO8859-1,所以你可以用name=new String(name.getBytes( "ISO-8859-1 "), "GBK ");在servlet中把乱码转换过来,而页面显示,只要你JSP里设置了GBK,应该就没问题
------解决方案--------------------
str=new String(str.getBytes( "IS08859-1 "));
------解决方案--------------------
写个filter 过滤器 比较方便