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


  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”/>
      

 

 


免責聲明!

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



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