2013-04-16 22 views
2

我需要不時作出的文件列表從CD我獲取文件的列表。這些文件的名稱在其他書寫系統中經常包含字符,如西里爾文俄文(Добродошли.doc)或簡體/繁體中文(孟子譯註.pdf)。我的電腦(在Windows 7下運行,波蘭語)顯示文件名正確,打開文件,將文件保存在其他位置,允許通過各種軟件編輯文件等。但是當我製作目錄列表時(使用dir命令)我總是得到問號和其他奇怪的字符,而不是其他(中文,俄文)字符 - 默認情況下dir命令的輸出似乎是用ANSI編寫的 - 而不是Unicode/UTF8。如何保存目錄中包含俄羅斯或中國的字符(Windows7的)

例子:

 
02.03.09 21:13 15˙584˙500 ??????(??????).pdf  = these three files were in Chinese 
02.03.09 03:11 18˙638˙982 ????(???).pdf 
24.03.08 17:25 61˙141˙454 ???®????Ż(???).pdf 
18.03.13 16:00 1˙088 ????.txt     = this file's name was in Russian 
02.03.09 21:20 26˙083˙641 Transformations-of-Ming.pdf 

我試圖尋找各種建議WWW這個問題,並沒有解決方案(與Windows右鍵上下文菜單「打印目錄列表」獲得)提供已經解決了我的問題 - 或者我發現(似乎過時)的答案,暫時的問題不能在各種環境下解決。也許有什麼改變 - 也許有一個解決方案,直接離開或改變了Windows註冊表內的東西后?否則,如果沒有簡單的批處理編程解決方案 - 也許有一些現成的軟件可以下載(免費或購買)來解決我的問題?

我不熟悉Java或php編程,也不知道如何處理Ruby(這裏也有類似的問題,但僅限於這些環境)。我可以說我在MS-DOS批處理編程中遇到困難 - 我曾經在1980年代末的批處理編程方面非常優秀,直到1990年代中期,甚至在用於DOS宏命令編輯/創建的甚至複雜的WordPerfect 5.1以及其他字符串編程的類型 - 可能我太老了(請不要問我,多大年紀了)學習高級面向對象編程(我從來不是程序員,只是一個電腦迷,但在Windows 98之後,我不得不放棄)。

感謝您的任何建議 - 我會嘗試所有(如果有的話)。

+0

命令提示符不能正確顯示Unicode字符。請放心,您的應用程序工作正常。 –

+0

請參閱:[什麼編碼/代碼頁是cmd.exe使用](http://stackoverflow.com/questions/1259084/what-encoding-code-page-is-cmd-exe-using) – Endoro

+0

@Endoro - 我'我已經看到了它,檢查了所有可能的代碼頁(原來我有852,但即使將其更改爲西里爾語特定的cp(855,860,1251)或Unicode(65001)也沒有改變俄羅斯的情況,並不是說漢族。 UTF16小或大端cp(1201或1200 - 取自http://en.wikipedia.org/wiki/Code_page的數字) - 導致錯誤消息「不正確的代碼頁」。我應該使用哪種cp?也許我需要永遠改變它來啓動它,因爲「程序(除了Cmd.exe),你分配新的代碼頁之前開始使用原代碼頁」?但目錄是cmd.exe –

回答

0

首先,您需要與外國字符支持True Type字體(TTF)。安裝字體:標題欄

  • 單擊鼠標右鍵
  • 選擇屬性/字體
  • 如果您的字體是不是在列表中,你必須之前在註冊表中與關鍵HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Console\TrueTypeFont\
  • 添加它

安裝字體的控制檯顯示後用該字體支持的所有外國字符。諸如dir或重定向到文件dir > dir.txt的命令也可以工作。並且不需要使用chcp更改代碼頁。

+0

謝謝你的建議。因爲你在那裏指導我,所以我是因爲我的DOS經驗而看起來合乎邏輯的。我已經檢查過,我已將Lucida Console和Lucidas作爲安裝在cmd控制檯中的兩個ttf字體。兩者都有西里爾文字母,但顯示效果不好,也沒有導出dir> dir.txt(都有問號而不是bukvy)。不知道爲什麼。我已經添加了第三個字體DejaVue Sans Mono,詳細描述參見http://cristianadam.blogspot.tw/2009/11/windows-console-and-true-type-fonts.html,它也有西里爾文,但它沒有幫助 –

+0

我不知道使用哪個ttf字體,我的電腦上有數百個字體。您使用了哪種字體?我已閱讀「在命令窗口中可用字體的必要條件」(http://support.microsoft.com/default.aspx?scid=kb;EN-US;Q247815),並停止之前addung一個亞洲字體(太多細節之前檢查),但我的經驗與西里爾使我懷疑它是否會工作。 Windows中提供了Cyryllic,中文和其他字符的顯示(與帶有垃圾郵件的文件 - 日語,阿拉伯語...一樣),但不在命令框中。當我這樣做,也許明天,我會再次寫信。 –

+0

我有兩個字體「Lucida控制檯」和「Consolas」 - 我犯了一個錯誤。現在我已經從註冊表中刪除了它們,並將DejaVu Sans Mono設置爲默認設置,西裏爾字母出現在命令框中,但文件dir.txt包含了???而不是俄文字母(使用記事本,寫字板和MS Word進行檢查;字體更改不會產生任何影響)。無助! –

0

設置chcp 65001解決了我的問題。 問題出在錯誤的代碼頁上,至少在我的情況下。

-1

使用Windows'95,運行文件管理器(think = that,與used + Windows 3.1相同),它位於Windows文件夾中,然後轉到選項以更改字體,&選擇Cyrillic 1.現在1可能會看到俄文名稱的文件。 Windows XP,@ DOS promp使用CHCP 866.

+0

您提到的所有操作系統都已過時並且不受支持。問題是關於Windows 7。 –