開發的朋友幾乎都有可能碰到過中文亂碼問題,今天我在利用jsp、serlvet做上傳時出現了亂碼,下面是解決方法有需要的朋友可以參考一下。
一、基本jsp、serlvet中文亂碼解決
(這個之前有完整解決筆記,等待有空貼上)
二、(2011年10月)采用apache的commons-fileupload作為上傳組件,提交表單域包含字段及文件時出現亂碼解決:
1、同上“一、”用過濾器對所有request請求用utf-8編碼
2、解決表單域字段值亂碼:
代碼如下
復制代碼
if(item.isFormField()){
// 如果item是正常的表單域
String name = item.getFieldName();
String value = item.getString("utf-8"); //解決表單域字段的值的亂碼
}
3、解決上傳文件的路徑亂碼:
代碼如下
復制代碼
FileItemFactory factory = new DiskFileItemFactory();
ServletFileUpload upload = new ServletFileUpload(factory);
upload.setHeaderEncoding("utf-8");//解決上傳文件的路徑亂碼設置