概述
当我们获取RequestInputStream时,里面如果有中文会显示乱码,在使用request.setCharacterEncoding("UTF-8");后也无济于事
我在查阅网上相关解决方案后,自己编写了一个类RequestInputStreamEncoding 里面有一个方法 public String getRequestInputStream(HttpServletRequest req)
调用此类的getRequestInputStream方法会返回正确编码的String串。
代码如下
<span style="font-size:18px;">package org.weixin.EncodingUtil;
import java.io.*;
import javax.servlet.http.HttpServletRequest;
public class RequestInputStreamEncoding {
public String getRequestInputStream(HttpServletRequest req) {
try {
req.setCharacterEncoding("UTF-8");
} catch (UnsupportedEncodingException e1) {
e1.printStackTrace();
}
StringBuilder buffer = new StringBuilder();
BufferedReader reader = null;
try {
reader = new BufferedReader(new InputStreamReader(
req.getInputStream(), "UTF-8"));
String line = null;
while ((line = reader.readLine()) != null) {
buffer.append(line);
}
} catch (Exception e) {
e.printStackTrace();
} finally {
if (null != reader) {
try {
reader.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
return buffer.toString();
}
}
</span>
最后
以上就是寂寞鸡为你收集整理的RequestInputStream获取中文乱码的全部内容,希望文章能够帮你解决RequestInputStream获取中文乱码所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复