❶ java web用jspsmartUpload上傳文件後 顯示的漢語文件名是亂碼,求大神解決!
//獲取上傳文件的文件名
Sting fileName = file.getFileName("UTF-8");
把上面這修改下
這時我已經修改好的
❷ java文件上傳文件名亂碼。。
換下編碼格式String s2=new String(fileName.getBytes(),"編碼格式");
Unicode utf-16
❸ jspsmartupload上傳的文件名是亂碼怎麼辦
方法一:(之前在頁面直接跳轉上傳時能夠解決問題,非同步提交上傳圖片就不能正常了)
1.解決中文亂碼:
【1】:首先上傳頁面和接收頁面都必須制定編碼格式為GBK;
<%@ page language="java" import="java.util.*" pageEncoding="GBK"%>
【2】:在上傳頁面要response.setCharacterEncoding("GBK");
【3】:在接收頁面要request.setCharacterEncoding("GBK");
【4】:注意上傳時表單要指定編碼為:enctype="multipart/form-data"
【5】:注意上傳時表單要指定方法為:method="post"
方法二:(非同步提交表單能正常解決)
【1】上傳頁面:(對參數做一次encodeURI)js
//對表單中的中文區域值得獲取並進行轉碼
var name = parent.window.$("#tabs_name").val();
var direction = parent.window.$("#tabs_direction").val();
parent.window.$("#tabs_name").val( encodeURI(name));
parent.window.$("#tabs_direction").val( encodeURI(direction));
parent.window.$('#subject_modify').submit(); //提交表單
【2】接收參數頁面(對參數做一次URLDecoder)
String name = smart.getRequest().getParameter("name");
name = URLDecoder.decode(name,"utf-8");
❹ 文件名亂碼怎麼解決java
在Java的web開發中,文復件下載制功能的文件名文件名亂碼問題是經常遇到的。
對於這個問題,不同的瀏覽器,解決的方法不太一樣。
IE的話,通過URLEncoder對filename進行UTF8編碼。
而其他的瀏覽器(firefox、chrome、safari、opera),則要通過位元組轉換成ISO8859-1了。
❺ multipart ile-MultipartFile上傳文件時,中文文件名亂碼怎麼解決
現象:採用smartupload上傳文件時獲取文件名及相關參數()時亂碼.
原因:上傳文件的頁面會以頁面指定的編碼格式對上傳的數據進行編碼,smartupload在接收數據時會以系統默認的編碼解碼上傳數據,如果頁面編碼與系統編碼不一致,則會導致亂碼
解決:
1.指定頁面編碼與系統編碼一致:<meta
http-equiv="Content-Type" content="text/html;
charset=utf-8">,對於windows操作系統應為gbk,對於linux,要指定為export|grep
LANG中一致的編碼格式.
2.修改smartupload.jar中的SmartUpload.java中: String s11 = new
String(m_binArray, m_startData, (m_endData - m_startData) + 1);
和getDataHeader方法中類似部分,加入charSet參數,手動指定編碼
這里已經有修改好的smartupload.jar包,只需在上傳時指定編碼參數即可:su.upload("UTF8");
❻ java生成文件名亂碼怎麼解決
輸出抄excel:
response.setHeader("Content-disposition","attachment;filename*=utf-8'zh_cn'"
+URLEncoder.encode('文件名襲',"UTF-8")+".xls");//設定輸出文件頭
response.setContentType("application/ms-excel");//定義輸出類型
❼ java 寫入txt文件的中文亂碼是怎麼回事
原因是寫入時使用的字元編碼和期望的不一致導致的。
❽ 文件上傳到伺服器 java出現亂碼
Hello.txt 中是英文字元,而發送的時候,卻按int發送了。。。。。。。。。。
這樣的要求,可以把文件當byte[]發送,,,,,通常不會亂碼
❾ java文件名亂碼
修改一下文件的編碼格式,utf-8。
右擊亂碼文件,選擇propertise,在Text file encoding 處修改編碼格式。
❿ 在JAVA怎麼處理上傳文件的亂碼問題
亂碼肯定是亂用編碼造成的,我的建議是上傳之前統一編碼,到linux再用同樣的編碼解碼