【问题标题】:Corrupted symbols with xml encoding iso-8859-1 in POST requestPOST 请求中带有 xml 编码 iso-8859-1 的损坏符号
【发布时间】:2016-02-20 19:44:22
【问题描述】:

我在 asp.net web api 控制器中使用此代码将 xml 内容保存到文件:

using (var str = await Request.Content.ReadAsStreamAsync())
using (var fileStream = File.Create(@"C:\directory\somename.xml")
{
    await str.CopyToAsync(fileStream);
}

如果我发送这个:

<?xml version="1.0" encoding="utf-8"?>
<root>Förstelärare</root>

没关系。但在这种情况下:

<?xml version="1.0" encoding="iso-8859-1"?>
<root>Förstelärare</root>

我在文件中看到了这个:

<?xml version="1.0" encoding="iso-8859-1"?>
<root>Förstelärare</root>

我发现编码有问题。如何正确修复? 我发布请求 uisng chrome 扩展程序 RestClient。在另一种情况下,我们使用WebRequest 将数据从请求流上传到 ftp 服务器。同样的问题。
更新:另一个有趣的事情 - 损坏的数据在 Windows 记事本中看起来不错,但在 Notepad++ 中却损坏了。

【问题讨论】:

    标签: xml asp.net-web-api encoding corruption


    【解决方案1】:

    编码正确,但显示错误。这在浏览器和服务器之间一直发生。有时 8859 会被翻译,有时不会。坚持使用 UTF-8,它似乎正在占据突出地位。 ISO-8859-* 在过去十年很流行。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-09-01
      • 1970-01-01
      • 2011-12-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-02-21
      相关资源
      最近更新 更多