【发布时间】:2015-04-28 16:50:54
【问题描述】:
我正在 Delphi XE3 中实现 REST 服务。实际访问:
var metaData: TDSInvocationMetadata;
metaData.ResponseContent:= output;
生成 XML 输出。不幸的是,经过数小时测试各种 UTF8 到 Unicode 转换方法后,我仍然无法获得正确的 UTF8 输出。这是我的例子:
function TServerMethods1.UTF8TEST(Value: string): string;
var metaData: TDSInvocationMetadata;
output: String;
begin
metaData:= GetInvocationMetadata;
output:= '<element><inside name="skúška" /></element>';
metaData.ResponseCode:= 200;
metaData.ResponseContentType:= 'text/xml; charset=utf-8';
metaData.ResponseContent:= utf8encode(output);
end;
从互联网浏览器调用后:http://localhost:8080/datasnap/rest/TServerMethods1/UTF8TEST 我收到了编码错误报告。删除特殊字符“úš”并将名称仅设置为“skuska”后,evrythink 似乎没问题。
任何人都可以帮助如何获得正确的 UTF8 编码输出???
【问题讨论】:
标签: rest delphi utf-8 delphi-xe3 datasnap