小白接觸後台不多,用myecplise開了一個服務器(tomcat),其中有url參數:http://xxx(ip)/downloadservlet?name=小兒鼻出血.mp4
,然後出現亂碼,服務器無法定位到該文件。
查網發現大部分對name進行轉碼,用name= new string("iso-8859-1","utf-8");可是我在request中獲取到name值後根據這個方法來轉碼,
然後部署後,在網址出輸入http://xxx(ip)/downloadservlet?name=小兒鼻出血.mp4發現中文變成了c????又是一個新亂碼。
於是我想試URLDecoder.decode()\URLDecoder.encode(),我把中文轉碼後輸入的亂碼輸入到網址上,然後再在服務器解碼發現還是不行,
求大神解答
你可以設置一下這幾個地方來保證編碼正確:
1、jsp中編碼設置為utf-8
2、request、response設置編碼為utf-8 (這個可以寫在監聽器中)
3、tomcat的conf/server.xml文件中設置編碼格式為utf-8
這樣應該就不會再出現亂碼問題了