出现这种情况,一般的解决办法,如:HttpServletRequest.setCharacterEncoding("utf-8")
是无效的。
因为HttpServletRequest
在实例化的时候是根据请求的Content-Type
读取编码
如果Content-Type
的值找不到那么就会用默认是编码格式ISO-8859-1
源码如下:
org.apache.catalina.connector.Request
package org.apache.catalina.connector;
public class Request
@Override
public String getParameter(String name) {
if (!parametersParsed) {
parseParameters();
}
return coyoteRequest.getParameters().getParameter(name);
}
/**
* Parse request parameters.
*/
protected void parseParameters() {
parametersParsed = true;
Parameters parameters = coyoteRequest.getParameters();
boolean success = false;
try {
// Set this every time in case limit has b