apachet转发请求到tomcat的中文化问题解决方案
在用mapguide做webgis应用的时候,再次遇到中文化问题。
场景是这样的:
由于某种需求的原因,有个请求必须用get的方式传送,而且url参数中含有中文。
首先,我在发送请求之前,用encodeURI将中文参数编码了。
代码示意如下:
var params = ....params = encodeURI(params);url = url + '&' + params;...
public static Map<String, String> decodeRequestToMap(HttpServletRequest request) { Map<String, String> m = new HashMap<String, String>(); Enumeration<String> e = request.getParameterNames(); try { while(e.hasMoreElements()) { String k = e.nextElement(); String value = URLDecoder.decode(request.getParameter(k), "UTF-8"); m.put(k, value); } } catch (UnsupportedEncodingException e1) { if (log.isErrorEnabled()) { log.error("不可能不支持UTF-8的啊!", e1); } } return m; }request.setCharacterEncoding(this.charactorEncoding); response.setCharacterEncoding(this.charactorEncoding); chain.doFilter(request, response);