Tod*_*oks 3 asp.net-mvc utf-8 utf-16 actionresult
我有一个ActionResult,它返回嵌入式设备的XML.相关代码是:
return Content(someString, "text/xml", Encoding.UTF8);
Run Code Online (Sandbox Code Playgroud)
即使指定了UTF-8,生成的XML也是:
<?xml version="1.0" encoding="utf-16"?>
Run Code Online (Sandbox Code Playgroud)
ASP.NET MVC编译为AnyCPU并在Windows 2008服务器上运行.
为什么不返回UTF-8编码的XML?
tva*_*son 11
您将HTTP响应的编码与响应中包含的XML的编码混淆.序列化XML时,需要指定它需要进行UTF-8编码.在ContentResult上设置编码只是告诉另一端的浏览器如何编码响应,它不会将XML从一种编码转换为另一种编码.如果您查看ContentResult的代码,您将看到它只是执行Response.Write(内容) - 在使用您指定的编码和内容类型设置Response头之后.
| 归档时间: |
|
| 查看次数: |
4462 次 |
| 最近记录: |