如何確定檔名是unicode?還是有軟體可以轉unicode?



贊助商連結


頁 : [1] 2 3

lenbo
2006-12-07, 01:46 AM
剛使用確定支援UTF-8編碼的雷電FTPD做server端,而client端我是用FileZilla;

卻發現非英文的檔名全變成亂碼了!
例如一個檔名為「アニメ」,這時用FileZilla看時會是亂碼「???」
但是,如果我先在server端上將該檔名「アニメ」先更改檔名為「a」後,
再重新用日文IME打字更改檔名為「アニメ」;這樣子用FileZilla來看時,就能正確顯示檔名了。

我猜大概是因為之前硬碟發生一點問題,而使用了FinalData把資料救援出來;
由於是使用簡體中文編碼的FinalData救援,
所以,不少日文檔名可能救出來時檔名編碼也被編成了GB碼的縁故是嗎?

所以,想請問一下;
如何確定目前windows中的檔名或資料夾名是以UTF-8編碼?
以及,有沒有軟體可以將目前硬碟中的所有檔名及資料夾名更改編碼為UTF-8?
謝謝嘍!!感激不盡~
不然小弟就要改檔名及資料夾名到爽了(;一_一)

贊助商連結


warzero
2006-12-07, 03:07 AM
ConvetZ應該可以幫你解決吧?
http://alf-li.pcdiscuss.com/c_convertz.html

lenbo
2006-12-07, 08:10 AM
ConvetZ應該可以幫你解決吧?
http://alf-li.pcdiscuss.com/c_convertz.html

講實話,這軟體用起來怪怪的說…

另外,小弟發現雷電FTPD與FileZilla的UTF-8問題;
僅出現在一些資料夾及檔名上的日文字而已…感覺真奇怪?
不過,還好為數不多,就手動自己一個一個改了~

warzero
2006-12-07, 02:55 PM
講實話,這軟體用起來怪怪的說…

另外,小弟發現雷電FTPD與FileZilla的UTF-8問題;
僅出現在一些資料夾及檔名上的日文字而已…感覺真奇怪?
不過,還好為數不多,就手動自己一個一個改了~
是怎麼怪法呢?:confused:
一般上自己用此軟體只是批量轉換MP3的標籤和貼薄的繁簡罷了... XD
txt內碼大多數用EmEditor,至於檔案名字從沒有轉換過... XD

pcboy
2006-12-07, 03:19 PM
> 如何確定目前windows中的檔名或資料夾名是以UTF-8編碼?
Windows NT 核心 ( 2000/XP) 都使用 UniCode 檔案名稱
Windows 95/98/ME 是 Big5

lenbo
2006-12-07, 03:46 PM
是怎麼怪法呢?:confused:
一般上自己用此軟體只是批量轉換MP3的標籤和貼薄的繁簡罷了... XD
txt內碼大多數用EmEditor,至於檔案名字從沒有轉換過... XD

裡頭有個選項是「unicode(簡體)」及「unicode(繁體)」
光這個我就搞不清楚是怎麼一回事了…

琥珀
2006-12-07, 04:04 PM
只是繁體和簡體的轉換吧?第一次知道有「Unicode 繁/簡體」這個名詞,就覺得不是很自然。

對於稍微了解的使用者,Unicode 就是 Unicode,繁體就是繁體,簡體就是簡體,其實不需要用「Unicode 繁體中文」這種名詞,這樣會造成困擾或誤解。

warzero
2006-12-07, 05:11 PM
裡頭有個選項是「unicode(簡體)」及「unicode(繁體)」
光這個我就搞不清楚是怎麼一回事了…
個人覺得是沒有什麼奇怪...
unicode要嚴格說的話就是共用同一個API來讓所有系統可以正常顯示文字。
而不會再像以前GB、Big5、shift-js等的歷史造成編碼的分支而無法正常顯示、各不兼容、造成亂碼問題。
共用同樣的API可以顯示全部文字,但語言文字還是有差別的。

就像國家語言那樣。
例如亞洲語言就分有成中文繁體、中文簡體、日語、韓語等。而字母的就分成英語、法語、德語等...
就像這樣類似的情況,所以繁體和簡體就當成是分開來看待就行了。

就例如這個字 "統" 、"统"。
繁體unicode 編碼顯示成 u+7D71。
簡體unicode 編碼顯示成 u+7DEF。

然後雖同為 アニメ 。
第一個可能是GB編碼。
第二個更改後變成了unicode。

雖然在大家的理解上認為是同一個字,但在電腦裏其實這兩個字是完全分開、各自都有編碼辨認的。
「unicode(簡體)」及「unicode(繁體)」 就當成 採用unicode編碼的"簡體字" 和 採用unicode編碼的"繁體字" 來解釋就行了。

其實一開始想說的是...
如果lenbo兄你救回來的文件名是GB編碼的話,就從GB轉換成unicode就行了。
而如果一開始左邊哪兒選擇unicode顯示卻正常的話,就可以確定你的編碼已經是unicode了。

而lenbo兄你說只有某些文件名顯示 ??? 而已對吧?
其實應該不是簡體版Final Data造成的關係,而那些文件名之前可能是你用簡體/日語語系下寫所造成的GB/shift-js編碼的。
然後如果你一直用簡體/日語語系下的話,就會連GB/shift-js編碼和unicode編碼正常顯示出來。
所以一直以來你不會覺得有什麼奇怪的問題。

其實自己不喜歡用特定的繁簡日語系。
因為這些語系的微差別就會造成雖同一個字,但到底是用哪一種編碼的問題發生。
所以一直讓自己用英文語系就可以最方便看出是採用什麼編碼命名。
因為沒有了特定的語系,馬上顯示亂碼的文檔名就知道那是非unicode編碼了。 :D

最後,話說XP對文檔名顯示好像是採用 UTF-16 來處理吧?
UTF-8通常都是用在網頁、txt內。

琥珀
2006-12-07, 06:54 PM
覺得和戰零的想法不太相同?文字上的對應錯誤,和純粹只顯示 ??? 的情況,意義又不太相同了。

http://img218.imageshack.us/img218/7143/cmdxc0.png

http://img218.imageshack.us/img218/1622/cmdjx3.png

應該還是要看作業系統本身是否支援 Unicode 處理,和 FinalData 等應用軟體應該無關。由於 FinalData 本來就不支援 Unicode,故需要上一層的表格,也就是 GBK/Big5/Shift-JIS 這些傳統編碼。如果上一層也沒有找到對應的東西,作業系統就只好丟出「?」給使用者,為此負責。

如果不是透過私有存取方式,在正常的 2000/XP 系統,使用公開的檔案操作機制 (也就是作業系統本身提供的檔案操作介面),照理說每個檔名至少都有一份 Unicode 清單了,忽略使用何種文字編碼的操作介面、何種語言的作業系統,也不用考慮第三方軟體是不是 Unicode 基礎,這都不重要,因為這是作業系統被賦予的功能,會自動判斷、內部安靜轉換,而使用者只要知道哪些是 Unicode 才有的文字、哪些是 Unicode 軟體、目前的系統區域設置為何,這樣就夠了。

琥珀的想法不一定正確,因為一開始主要也是用摸索的,以及不定期查閱微軟的 GlobalDev 網站 (http://www.microsoft.com/globaldev/default.mspx),就文章中所提到的內容,消化吸收,再加上自身的使用經驗,綜合下來的結論。

warzero
2006-12-07, 07:17 PM
可能小弟的表達有錯誤,無法將真正的思想完全表達出來... :|||:
基本上像編碼、文字、unicode是一種很大也很複雜的學問。
其實在論壇發文也是在磨煉自己,一直在修煉自己的表達能力和增強知識。
自己也是尚在學習中的狀態,可能自己的見解也是有錯誤的存在。
就將自己的見解提出來,遇到有錯誤的話再來吸收並修改到正確為止。 :)