解決使用Ajax 前臺提交表單到後臺,但輸出爲問號的中文亂碼情況
情況如下:
在web.xml文件中已經配置了,如下的spring的Filter
<filter>
<filter-name>encodingFilter</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>utf-8</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>encodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
我的前臺頁面的表單如下:
<form action="">
......
<button type="button" class="btn btn-primary btn-lg" id="createButton"onclick="getAllInfo()">
創建
</button>
</form>
涉及到的ajax代碼如下:
$.ajax({
type: "POST",
url: 'addhw',
data: {
......
dataType:'json',
cache: false,
success: function(data){
alert("ok!")
......
},
error:function (data) {
console.log(JSON.stringify(data));
......
}
});
}
並且本地的tomcat的server.xml也已經設置了UTF-8。
並且我在後臺也已經對request的字符編碼進行設置,但是依舊無法正確得到中文參數
輸出依舊是?????
解決方案:
在百度試了很多遍之後,找到了正確的解決辦法:
在VM option裏面,加上如下的一段話:
-Dfile.encoding=UTF-8
即正確輸出所有通過AJAX,POST方式提交的表單!