我需要使用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