我在 Web api 控制器中使用此代码 asp.net 将 xml 内容保存到文件中:
using (var str = await Request.Content.ReadAsStreamAsync())
using (var fileStream = File.Create(@"C:directorysomename.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记事本中看起来不错,但在记事本++中损坏。
它编码正确,但显示错误。这在浏览器和服务器之间一直发生。有时 8859 会被翻译,有时不会被翻译。坚持使用 UTF-8,它似乎正在占据突出地位。ISO-8859-*在过去十年中很时髦。