我需要使用delphi 7將字符串從utf8轉換爲寬字符串。有誰能告訴我爲什麼下面的代碼在delphi 7中不起作用嗎? Utf8Decode函數的參數只是一個示例。utf8decode in delphi 7
var ws: WideString;
begin
ws := Utf8Decode('[أمبير] خطأ تيار- تيار Ů…ŘŞŮاصل Ů…Ř·Ů„Ů‚');
end;
在德爾福7它給了我很多問號,但在bds2006它運作良好。
我是否需要切換一些編譯器指令,或者如何在delphi 7中將utf8String轉換爲Widestring?
SOLUTION
有沒有錯Utf8Decode功能,德爾福代碼智能工具提示表達式求值輸出誤導了我,它無法顯示Widestrings。見下圖:
但MessageBoxW可以顯示文本:
你想要做的第一件事是什麼?你如何顯示WideString輸出?你真的需要UTF-8,WideString已經是Unicode嗎?我很高興在這裏有更多的細節。 – 2012-02-07 16:03:28
@JensMühlenhoffutf-8將來自xml文件,我想將它傳遞給需要寬字符串的另一個庫函數。我使用調試器中的手錶來檢查值 – balazs 2012-02-07 16:19:47
我知道這並不總是一個選項,但對於Unicode支持,考慮升級到最新版本的Delphi是非常值得的,因爲Unicode支持最終才起作用。 – 2012-02-12 15:27:58