<< Java性能调优工具BEA JRockit Mission Control - kakatian1 - 51CTO技术博客 | 首页 | [HttpClient]HTTPClient PostMethod 中文乱码问题解决方案(2种) - 追竹 - 博客频道 - CSDN.NET >>

也说TOMCAT中文乱码问题 request的setCharacterEncoding必须在getParameter之前执行_深圳漂者_百度空间

setCharacterEncoding
public void setCharacterEncoding(java.lang.String env) throws java.io.UnsupportedEncodingException
Overrides the name of the character encoding used in the body of this request. This method must be called prior to reading request parameters or reading input using getReader().

 

request的setCharacterEncoding必须在getParameter之前执行,也就是说传说中的GBK编码下Ajax乱码问题,可以使用Servlet Filter避免乱码,在Filter里通过判断是否是Ajax请求来通过request.setCharacterEncoding设置相应的编码。

 

应用程序在Servlet Filter 或Controller程序中通过setCharacterEncoding设置先后两次不同的字符集如setCharacterEncoding("UTF-8")和setCharacterEncoding("GBK"),在不同的应用服务器下会有不同的效果,在Tomcat是以第一次设置的字符集为准,该案例中是以"UTF-8"为准;而Weblogic则以最后一次为准,以"GBK"为准。

 

阅读全文……

标签 :



发表评论 发送引用通报