我尝试将TJSONObject
类与Unicode字符一起使用,但是在解析后,我得到的是????
而不是原始文本。
简单的问题是:
UnicodeString doc = L"{\"alias\":\"Test ЮРИСЛАВ\"}";
ShowMessage(doc);
TJSONObject* jo=new TJSONObject();
jo->Parse(BytesOf(doc), 0);
ShowMessage(jo->ToString());
第一个
ShowMessage
正确显示文本:ЮРИСЛАВ
但在解析后,第二个
ShowMessage
将显示????
而不是ЮРИСЛАВ
。我做错了什么?
最佳答案
更改为以下内容:
jo = (TJSONObject*) TJSONObject::ParseJSONValue(TEncoding::UTF8::GetBytes(doc), 0);
您应该在解析之前将Unicode文本转换为UTF8。
关于json - 使用TJSONObject解析Unicode文本返回'????',我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35359388/