这几天在学习微信开发发现用户收到的信息是乱码,但是奇怪的是我的request和response都设置为UTF-8
这是为什么呢,tell me why,经过不断的调试和上网查发现那个InputStreamReader进行字节流传化为字符流是没有指定UTF-8,它默认使用系统的编码GBK所以报错了
throws Exception {
// 将解析结果存储在HashMap中
Map<String, String> map = new HashMap<String, String>();
// 从request中取得输入流
InputStream inputStream = request.getInputStream();
// 一定要utf-8
InputStreamReader inputReader = new InputStreamReader(inputStream,
"UTF-8");
BufferedReader buffer = new BufferedReader(inputReader);
String message = "";
String s = "";
while ((s = buffer.readLine()) != null) {
message += s;
}
还有就是如果你进行了转发,最开始的request和response必须也进行编码设置设置为UTF-8,response是必须设置的,因为最终又是第一个接到请求的对应response回复