又是字符集的问题,GBK->UTF-8页面提交

悬赏:20 发布时间:2008-07-25 提问人:newfan (初级程序员)

问题是这样的:
从一个GBK编码的页面,向一个UTF-8编码的应用提交表单;
UTF-8的应用中有request的过滤器,做了UTF-8的编码;
我现在想在UTF-8的应用中获得正确的提交值,
尝试了很多种组合还是不行,不知道各位有什么高见?
问题补充:
问题绝不是
new String(request.getParameter(参数).getBytes("ISO-8859-1"), "GBK")
这样的简单,
这里涉及到了一个跨应用多字符集处理的问题
该问题已经关闭: 超过15天由系统自动关闭,悬赏平分给所有参与回答的会员

回答

form method 用 post
剑 事 (中级程序员) 2008-07-25
method 使用  post  页面用
new String(request.getParameter(参数).getBytes("ISO-8859-1"), "GBK")
kamhung (中级程序员) 2008-07-26
》new String(request.getParameter(参数).getBytes("ISO-8859-1"), "GBK")
后面参数不要随便加.
另外为什么一定要GBK?
最好是jsp文件也加上<@page pageEncoding="UTF-8">
如果IE一定要GBK提交,那么要看你的jsp容器是默认用什么编码,tomcat里默认是iso8859-1 的,如果是这样:new String(request.getParameter(参数).getBytes("ISO-8859-1"))  就可以了。
XMLDB (中级程序员) 2008-07-28
new String(request.getParameter(参数).getBytes("ISO-8859-1"), "GBK")

即使用这个也应该是

new String(request.getParameter(参数).getBytes("GBK"), "UTF-8")
剑 事 (中级程序员) 2008-07-28
最简单的方法:把gbk页面改为utf-8页面。
hax (中级程序员) 2008-07-30