上傳ftp亂碼linux
發布時間: 2025-07-03 21:20:26
編碼問題,Windows默認是GB2312,Linux默認是UTF-8.
B. 你好: 我也在做這個E語言,我們的伺服器是linux的,用Java去查找FTP上的指定E文件是否存在,可是取過來的
我的情況是把文件上傳到ftp伺服器時,發現ftp伺服器文件名稱亂碼,所以我就對文件名編碼,
當然你可以根據自己的情況寫轉換方法:
boolean b = ftpClient.storeFile(GBKToiso8859(filename), input);
/**
* 轉碼[GBK -> iso-8859-1] 不同的平台需要不同的轉碼
*
* @param obj
* @return
*/
private String GBKToiso8859(Object obj) {
try {
if (obj == null)
return "";
else
return new String(obj.toString().getBytes("GBK"), "iso-8859-1");
} catch (Exception e) {
return "";
}
}
C. 如何Windows終端訪問Linux vsftp中的亂碼
Windows
系統自帶和第三方軟體使用的編碼不同就會導致這樣。vsftp
不支持編碼識別自動轉換。所以兩個客戶端軟體用的不同編碼就會讓
vsftp
的編碼混亂。一般來說
Linux
現在都用
utf-8
一些新版本的
ftp
軟體默認也會去轉換為
utf-8
進行傳輸文件名,但
Windows
似乎舊版本還是用本地編碼進行
IO。也就是簡體中文用
GB
系列,繁體中文用
BIG
,英文用
ASCII
什麼的互相不同的編碼。
熱點內容