小编Mil*_*ml.的帖子

Delphi XE3 - datasnap REST服务器UTF8输出

我正在Delphi XE3中实现REST服务.实际访问:

var metaData: TDSInvocationMetadata;
metaData.ResponseContent:= output;
Run Code Online (Sandbox Code Playgroud)

生成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;
Run Code Online (Sandbox Code Playgroud)

从互联网浏览器调用后:http:// localhost:8080/datasnap/rest/TServerMethods1/UTF8TEST我收到了ENCODING ERROR报告.删除特殊字符'úš'并将名称设置为'skuska'后,evrythink似乎没问题.

任何人都可以帮助如何正确获得UTF8编码输出???

delphi rest utf-8 datasnap delphi-xe3

3
推荐指数
1
解决办法
1545
查看次数

标签 统计

datasnap ×1

delphi ×1

delphi-xe3 ×1

rest ×1

utf-8 ×1