解決使用Ajax 前臺提交表單到後臺,但輸出爲問號的中文亂碼情況

解決使用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方式提交的表單!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章