You are not logged in.
my code define as follows::
IUserManage = interface(IInvokable)
['{970EB610-FC4B-4A89-9A39-2767A5100F97}']
function chgMyPwd(oldPwd,newPwd:RawUtf8;hashed:Boolean;out errMsg:RawUtf8):boolean;
end;
If errmsg returns a Chinese string, the client displays it incorrectly, but if errmsg is of type string, the return is correct.
I don't know why.
Offline
If errmsg returns a Chinese string, the client displays it incorrectly, but if errmsg is of type string, the return is correct. I don't know why.
With this minimal information, I can only guess:
var s: String := Utf8ToString(errMsg);
With best regards
Thomas
Offline
I tried it, but using Utf8ToString(errMsg) didn't solve the problem.
What happens to the RawUtf8 parameter? English can be returned normally.
Offline
你可以试试这个: utf8tocp936(stringtoutf8(errMsg))
Offline
不行,我看了返回值的16进制数字,原始字符串:out测试, 返回的16进制表示:6F7574 C3A6C2B5C28B C3A8C2AFC295,正确的UTF8编码:6F7574 E6B58B E8AF95
Offline