Re: [問題] vsftpd 中文檔案變亂碼(invalid encoding)

看板Linux作者 (Heart-shaped chant)時間15年前 (2010/05/25 20:41), 編輯推噓3(304)
留言7則, 3人參與, 最新討論串5/5 (看更多)
※ 引述《Adama (So Say We All.)》之銘言: : ※ 引述《MrWind (波西米亞)》之銘言: : : 對方的系統是 M$-Win7( Win-XP 好像也會有這樣的問題), : : 使用"檔案總管"直接連線至我的ftp site,然後登入 local user 帳號, 微軟的 IE 或是檔案總管大概都沒有完全遵守 FTP 的 RFC 規範在做設計,所以傳上去的檔案檔名 不正常應該和我前面說的原因差不多。有興趣可以翻看看 ftp server 的 log,應該可以看到 client 送出了哪些指令。 : 那是因為windows xp/7雖然核心支援utf-8,但實際上中文繁體語系 : 卻是使用cp950 (big5擴充)作為預設編碼 該怎麼說呢,Windows 2000 之後核心就已經是 unicode 了,但是為了顧及過去的 ANSI 程式相容性, 對於非 unicode 的程式都會用內建的語系表去做轉碼。而轉碼這種事情不只是針對程式,Windows 的 檔案系統也有做轉碼的動作,為了配合那些過去的 ANSI 程式。 但是檔案轉碼這件事情只有 Windows 是內建、自動的,在其他系統裡面 unicode 和 ansi 並不會自己 互轉,所以造成了很多很多的麻煩,包括 ftp, samba 這些會牽扯到檔名的東西都是一樣。 : 所以不用filezilla強制使用utf-8的話, : 用"檔案總管"它就會給你傳cp950的檔名上去... : 至於內容,本來就需要用iconv之類的軟體去轉換編碼 : 即使用filezilla以utf-8上傳也是一樣 -- 要開啟新的一道門,任誰都會感覺不安。那不是可恥的事, 真正可恥的是被不安感打敗而不敢開啟那道門。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.113.153.193

05/25 21:01, , 1F
這樣只要原po還是繼續用檔案總管,就算換成pureftpd還是亂碼
05/25 21:01, 1F

05/25 21:30, , 2F
我最後總結,請每個user儘量用英文檔名
05/25 21:30, 2F

05/25 21:30, , 3F
因為沒辦法限制人家要用程式還是檔案總管連線
05/25 21:30, 3F

05/25 21:30, , 4F
只好要求大家互相體諒了
05/25 21:30, 4F

05/25 23:27, , 5F
沒錯,還是用英文檔名一切安全
05/25 23:27, 5F

05/25 23:52, , 6F
我想到是不是可以用bind來掛一個目錄給ftpd用
05/25 23:52, 6F

05/25 23:52, , 7F
因為bind可以用mount的選項去設定charset
05/25 23:52, 7F
文章代碼(AID): #1B-yMMiG (Linux)
文章代碼(AID): #1B-yMMiG (Linux)