① 訪問ftp伺服器下載文件時文件名中文亂碼
解決從遠程FTP伺服器(windows server 2008 R2上搭建)下載中文文件到本地出現亂碼問題的一個方法:
1,將FTP伺服器創建為本地的一個網路位置:
② win7自帶ftp:將文件復制到FTP發生錯誤。網上說把上傳的文件改為字母或數字 ,還是不行。
這個問題是由於FTP底層文件傳輸協議文件名代碼轉化不一致導致的。
解決方法:
將文件重新命名為純英文或者數字或者英文數字組合字元,中文命名必須使用偶數字元,奇數中文字元+中文字元會導致傳輸失敗。(自己可以嘗試不同的字元組合以獲得經驗)
③ 向FTP中上傳中文命名的文件總報錯,傳不上去~腫么辦
你傳中文的做什麼用啊,在網站里也沒辦法鏈接中文的東西,會出錯的,建議用英文命名
④ linux下配置ftp中文命名不能下載原因
你這個原因是
系統不識別中文字
不信你在你的Linux系統中的ftp/pub
目錄下看下
你可以在/etc/vsftpd/vsftpd.conf中的global
全局設置中
添加下面的內容就可以了
dos
charset
=
gb2312
unix
charset
=
gb3212
⑤ Serv-U 建FTP伺服器時上傳中文文件出錯,跪求高手!
應該是中文文件沒有關系。建議使用Filezila客戶端連上去,用FileZila上傳文件試試。
感覺應該是因為你沒有使用客戶端上傳時產生許可權問題。
⑥ FTP 不能支持中文路徑啊
你在 FTP伺服器目錄訪問上設置一下權根!!
說明:(勾選後可以實現的目的)
讀取:可以下載該目錄文件。
寫入:可以更改該目錄文件,包括重命名,上傳文件等。
追加:可以在此目錄下新建文件。
刪除:不用說了。
執行:不用說了。
列表:可以看此目錄下的內容。
創建:可以在此目錄下新建夾。
移除:可以刪除此目錄下的子目錄。
繼承:子目錄的許可權和根目錄一樣
根據你的需要,你可以新建一個FTP用戶,然後目錄指向你不想讓人看見的目錄,許可權設為:讀取,列表,繼承。
⑦ 為什麼FTP不能上傳帶有中文文件名的文件
FTP不能上傳帶有中文文件名的文件是設置錯誤造成的,解決方法為:
1、登陸Dreamstime,點擊右上角「我的賬戶」。
⑧ 關於FTPClient文件夾重命名的問題
環境描述:
1.服務端:採用serv-u11.3版本的伺服器管理工具作為ftp服務端
2.客戶端:採用FTPClient 1.4.1組件作為客戶端訪問ftp伺服器
我們在用FTPClient組件上傳文件時,當上傳的文件名為中文時,有以下幾種情況:
一、當沒有禁用serv-u服務端工具的上傳下載編碼時,即:
沒有將域限制和設置里默認的opts-utf8禁止,在:域限制和設置---FTP設置選項卡---全局屬性---高級選項---第三個多選框。
1.客戶端代碼中如果編碼為:UTF-8,那麼完全沒有問題,中文命名的文件可以正常上傳;參考以下代碼:
/**
* FTP上傳單個文件測試
*/
public static void testUpload() {
FTPClient ftpClient = new FTPClient();
FileInputStream fis = null;
try {
ftpClient.connect("此處填寫伺服器IP");
ftpClient.login("用戶名", "密碼");
File srcFile = new File("F:\\路由器配置.txt");
fis = new FileInputStream(srcFile);
//設置上傳目錄
ftpClient.changeWorkingDirectory("/admin/pic");
ftpClient.setBufferSize(1024);
ftpClient.setControlEncoding("UTF-8");//這里設置編碼
//設置文件類型(二進制)
ftpClient.setFileType(FTPClient.BINARY_FILE_TYPE);
boolean temp = ftpClient.storeFile(new String("路由器配置.txt".getBytes("UTF-8"),"iso-8859-1"), fis);//編碼轉換
System.out.println("temp-------"+temp);
} catch (IOException e) {
e.printStackTrace();
throw new RuntimeException("FTP客戶端出錯!", e);
} finally {
IOUtils.closeQuietly(fis);
try {
ftpClient.disconnect();
} catch (IOException e) {
e.printStackTrace();
throw new RuntimeException("關閉FTP連接發生異常!", e);
}
}
}
2.客戶端代碼中如果編碼為:GB2312,可以上傳,但是上傳的文件名為亂碼,代碼同上,改變紅顏色的字的編碼為GB2312即可;
二、一、當不選serv-u服務端工具的上傳下載的默認編碼時,即:
在:域限制和設置---FTP設置選項卡---全局屬性---高級選項---第三個多選框不要勾選時;
1.客戶端代碼中如果編碼為:UTF-8,文件不能上傳,代碼中,temp變數為false;
2.客戶端代碼中如果編碼為:GB2312,文件正常上傳,並且不為亂碼,代碼中,temp變數為true;
綜合上述:將ftp伺服器默認編碼禁用,並且客戶端代碼中以GB2312 編碼上傳並轉化較為合理,解決中文文件名的問題;另外,還有多種情況沒有舉例,大家可以測試一下,以便了解更為透徹。
⑨ ftp 重命名不了
服務端沒有給客戶端發ack 命令。
導致客戶端time out
查一查防火牆的問題。
包沒有回到客戶端。
⑩ 為什麼在ftp伺服器上傳中英混合文件名文件會出錯
Windows默認GBK編碼,linux默認UTF-8,所以在Windows下上傳的中文到Linux就會顯示為亂碼。
如果我們把Linux的默認編碼改為GBK,就不會出現亂碼啦。
修改xshell的編碼方式:地球圖標–Chinese Simplified。
使用locale命令查看linux編碼方式。
export LC_ALL="zh_CN.GBK" export LANG="zh_CN.GBK"。