springmvc,controller層在接收瀏覽器url傳來的參數帶中文亂碼問題。


  1. 請求地址:http://localhost:8080/saveFlashSale?fsRemark=哈哈哈哈哈

  2. 接收方法:@RequestMapping("/saveFlashSale")
    public Msg saveFlashSale(FlashSale sale)

  3. 實體FlashSale接收到的fsRemark是亂碼。
  • 分析:在接收了的時候就是亂碼了,那就用排除法。

  1. eclipse:widow->Perference->General->Workspace:是utf-8,說明不是這里的問題。
  2. 右擊項目,選擇Properties->Resource:也是utf-8,說明不是這里的問題。
  3. 右擊類,選擇Properties->Resource:也是utf-8,說明不是這里的問題。
  4. src->webapp下我web.xml:

    <init-param>
    <param-name>encoding</param-name>
    <param-value>utf8</param-value>
    </init-param>

            這也正常,說明也不是這里的問題。

  • 分析了一遍,發現項目的編碼都是utf-8,是沒問題,說明問題出在了tomcat本身。

  1. 打開server.xml,第65行(一般來說都是這里),發現<Connector connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443" />是沒有指定編碼的。

  2. 解決:在<Connector connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443"  URIEncoding="UTF-8"/>加上URIEncoding="UTF-8
  3. 重啟項目,重新請求方法,好了,期待已久的中文出現啦。此刻才發現,中文是多么的親切。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM