我想編譯項目編寫在德爾福2007參數 - 代碼頁:1252。在Windows 10的一臺機器上,一切正常,西班牙語字符串顯示正確。當我在Windows 8參數--codepage:1252的計算機上做同樣的事情時,沒有任何變化。 我需要這個,因爲在不工作的計算機上,我有團隊代理。 有沒有人有類似的問題?或者,可以在非Unicode應用程序中實現適當的西班牙字符顯示,而不必在需要重新啓動系統的windows屬性中對其進行更改,這對於teamcity服務器來說是有問題的。德爾菲2007編譯與代碼頁參數和teamcity
編輯:
在兩臺計算機上我已經設置波蘭語的非Unicode應用程序和:
- 的Windows 10 - 西班牙字符編譯EXE文件複製到西班牙的PC並沒有西班牙語字符。
- Windows 10 - 用西班牙字符編碼和--codepage:1252在dproj「1252」中設置參數,將exe文件複製到西班牙PC和西班牙文字符顯示正確。
- Windows 10 - 使用dcc32.exe在命令行中編譯帶西班牙字符和--codepage:1252參數,將exe文件複製到西班牙PC和西班牙文字符中,沒有西班牙字符。
- Windows 8 - 用西班牙字符編譯,將exe文件複製到西班牙語PC,並且沒有西班牙字符。
- Windows 8 - 用西班牙字符和--codepage:1252參數編譯,將exe文件複製到西班牙語PC中,並且沒有西班牙字符。
編譯通過Delphi和使用dcc32.exe它們應該是相同的輸出,因爲Delphi使用dcc32以相同的方式,我可以看到它在輸出中有什麼區別。
UPDATE:
更多的測試後,我的結論是: 德爾福IDE與編譯「--codepage:1252」與所有文件都ANSI格式它的工作。當我更改爲UTF-8不會工作。 從命令行不能在任何情況下和組合。
當我所有的文件都有ANSI格式西班牙語字符正確時,我改變爲UTF-8我失去了它。 –
然後我出於想法,對不起。 – dummzeuch
將源文件編碼設置爲UTF-8,然後在運行時使用'UTF8Decode()'將字符串文字傳遞給'AnsiString'變量/屬性。這將執行從UTF-8到OS當前使用的任何ANSI代碼頁的轉換。 –