linux 下tomcat部署項目中包含中文名稱檔案,報404找不到檔案錯誤

來源:互聯網
上載者:User
  1. 在linux系統中,如果將項目部署在tomcat下,項目中包含中文名稱檔案。可能會報404找不到檔案的錯誤。
  2. 從Linux往 windows拷貝檔案或者從windows往Linux拷貝檔案,有時會出現中文檔案名稱亂碼的情況

原因:

  1. windows的檔案名稱中文編碼預設為GBK,而Linux中預設檔案名稱編碼為UTF8,由於編碼不一致,所以導致了檔案名稱亂碼的問題,解決這個問題需要對檔案名稱進行轉碼。

解決方案:

  1. 在Linux中專門提供了一種工具convmv進行檔案名稱編碼的轉換,可以將檔案名稱從GBK轉換成UTF-8編碼,或者從UTF-8轉換到GBK。

    首先看一下你的系統上是否安裝了convmv,如果沒安裝的話用在
    http://www.j3e.de/linux/convmv/convmv-1.14.tar.gz
    下載,然後在windows下面解壓縮用winscp上傳真箇目錄,之後進入此目錄執行make install命令,之後用convmv命令測試是否安裝成功,若顯示一些命令提示則表示成功了。
    安裝。

    下面看一下convmv的具體用法:
    convmv -f 源編碼 -t 新編碼 [選項] 檔案名稱
    常用參數:
    -r 遞迴處理子檔案夾
    --notest 真正進行操作,請注意在預設情況下是不對檔案進行真實操作的,而只是實驗。
    --list 顯示所有支援的編碼
    --unescap 可以做一下轉義,比如把%20變成空格
    比如我們有一個utf8編碼的檔案名稱,轉換成GBK編碼,命令如下:
    convmv -f UTF-8 -t GBK --notest utf8編碼的檔案名稱

    這樣轉換以後"utf8編碼的檔案名稱"會被轉換成GBK編碼(只是檔案名稱編碼的轉換,檔案內容不會發生變化)
  2. tomcat伺服器改為utf8編碼 更改server.xml

    <Connector port=”8080″ protocol=”HTTP/1.1″ connectionTimeout=”20000″  redirectPort=”8443″ URIEncoding=”utf-8″ useBodyEncodingForURI=”true”/>

      

 

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.