IDEA中tomcat插件版本7中文乱码问题
IDEA中tomcat插件版本7中文乱码问题
问题描述:
因为idea中tomcat插件版本只到7,他的默认解码方式为:ISO-8859-1,又因为浏览器的编码方式为UTF-8所以如果使用tomcat接收中文,会有乱码现象.注:(若使用tomcat 8.0以后版本,则不用考虑这个问题,默认的解码方式已改为UTF-8)
解决方案:
POST : 设置输入流的编码
request.setCharacterEncoding("UTF-8");//设置字符输入流的编码
通用方式(GET/POST) : 先编码,再解码
String username = "张三";
//1. URL编码
String encode = URLEncoder.encode(username, "utf-8");
System.out.println(encode);
//2. URL解码
//String decode = URLDecoder.decode(encode, "utf-8");
String decode = URLDecoder.decode(encode, "ISO-8859-1");
System.out.println(decode);
//3. 转换为字节数据,编码
byte[] bytes = decode.getBytes("ISO-8859-1");
/* for (byte b : bytes) {
System.out.print(b + " ");
}*/
//4. 将字节数组转为字符串,解码
String s = new String(bytes, "utf-8");
System.out.println(s);
结果打印
%E5%BC%A0%E4%B8%89
å¼ ä¸
张三
补充: URL编码
1.将字符串按照编码方式转为二进制
每个字节转为两个16进制数并在前面加上%
本文来自博客园,作者:Haziy,转载请注明原文链接:https://www.cnblogs.com/zhangyouren/p/16527025.html
本博客所有文章仅用于学习、研究和交流目的,欢迎非商业性质转载。
博主的文章没有高度、深度和广度,只是凑字数。由于博主的水平不高,不足和错误之处在所难免,希望大家能够批评指出。