2011-09-19 84 views
1

我目前正在將遺留系統轉換爲新平臺,並需要從舊系統資源文件中提取字符串。unicode文本編輯器的提示

舊系統是用Delphi編寫的,字符串保存在名爲.dfm的文件中。我毫無困難地找到字符串,對於英語和其他歐洲語言來說沒有問題。當我嘗試用日文提取字符串時會遇到麻煩。我用Notepad ++,在我看來,該程序不認可正確的編碼。我得到日本的符號,但他們似乎不符合GUI中的內容。記事本++在GB2312(簡體中文)中顯示標誌。但它看起來很奇怪。

我的問題是,有沒有人有任何提示在這樣的操作擅長的程序/文本編輯器? 此外,我很感激任何可能幫助我的提示。

+2

什麼樣的代碼頁不遺留代碼使用時與japenese合作? –

+0

該應用很可能使用了http://msdn.microsoft.com/en-us/goglobal/bb964654上提到的雙字節代碼頁之一。請查看http://msdn.microsoft.com/en-us/goglobal/bb964655獲取OEM代碼頁。雖然它有許多相同的雙字節代碼頁,只有兩個額外的。我猜記事本++猜測/得到它錯誤,你需要「932(日本Shift-JIS)」 –

+0

不知道你想要做什麼?將Delphi DFM資源轉換並提取到「新平臺」?什麼平臺?也許答案就是解決這個問題的關鍵。你可以從排除過程開始,通過確定之前在非Unicode的delphi應用程序中使用的代碼頁。 –

回答

2

假設你的問題很簡單,就是記事本+ +是不正確的猜測編碼可以通過手動設置編碼在記事本中解決問題++,就像這樣:

enter image description here

+0

Shift-JIS可能是我想要的,雖然我的N ++不顯示它,只有Big5(傳統)和GB2312(簡體)。 – Oglop

+0

我有5.9.7的npp,你在什麼版本上? –

+0

我安裝了Notepad ++ _v5.9.3的瑞典語版本,只顯示Big5(繁體)和GB2312(簡體)。卸載並以英文安裝。突然,程序顯示Shift-JIS而不是其他編碼選項,並且我在資源文件中找到正確的文本。很奇怪,但現在看來它會工作得很好。不明白爲什麼不同安裝的相同程序支持不同的編碼..該屏幕截圖真的救了我,謝謝。 – Oglop

1

記事本++本身已經處理編碼問題。使其符合所需的編碼,如Unicode;

  1. 第一,複製文件中的所有內容,
  2. 選擇的Unicode沒有BOM菜單,
  3. 最後,用複製的內容替換所有內容
  4. 保存文件

你的內容將會以你想要的編碼。

1

Delphi中的字符串不保存在DFM中。只有表格和相關文字。所以你也要查看所有的代碼。

至於DFM - 在Delphi 2009之前DFM沒有使用Unicode,所以你必須知道使用了什麼charset。這是Delphi應用程序本地化和國際化的一大問題。

+0

這個程序是在德爾福2007年,所以是的。 – Oglop