關於Unicode的很多信息,但很難得出結論。在Delphi XE中處理UTF-16字符串數據類型(最佳做法)
我正在研究一個多語言的Delphi XE5應用程序,現在我用這個unicode字符來面對這個問題。老實說,我不想了解背後的魔力,我只是想看看他們在我的應用程序中工作。
之前很簡單。一般使用String
數據類型。現在,我讀過有關WideString
,UnicodeString
,AnsiString
而事實上,在String
是XE5符合UTF-16
我已經WideString
測試樣(şţăîâ)的lating字符工作,但它仍然是不明確如果WideString
是最好的一個。我應該使用UnicodeString
還是其他?
那麼,如果我應該製作支持所有語言的多語言應用程序,那麼最終應該使用什麼樣的數據類型?是否有可能保留String
類型並得到相同的結果,如WideString
?
備註:我在我的應用程序裏面使用了FireDac組件,但這應該不重要。
你應該只使用'string'。 –
[TField.AsString返回一個AnsiString編碼值(即使聲明爲字符串)](http://stackoverflow.com/q/9459186/458259)和TField.AsWideString返回一個字符串= UnicodeString!這可能是您混淆的根源。見http://blog.synopse.info/post/2013/04/22/TDataSet...-now-I-m-confused :) –