在 WebAPI 中,使用 StreamWriter 向客户端写入中文数据时,可能会出现乱码问题。这是因为数据传输过程中可能发生了编码转换,导致数据损坏。为了确保数据传输过程中没有发生任何编码转换导致数据损坏,可以使用以下两种方法:

  1. 在 MediaTypeFormatter 中设置编码:
config.Formatters.JsonFormatter.SupportedEncodings.Add(Encoding.UTF8);
  1. 在 StreamWriter 中设置编码:
var writer = new StreamWriter(stream, new UTF8Encoding(false));

在 StreamWriter 中使用 UTF8Encoding(false) 可以确保不会自动添加 BOM (Byte Order Mark),否则可能会影响数据传输。

C# .NET 4.5.1 Web API 中文乱码问题:StreamWriter 编码设置

原文地址: https://www.cveoy.top/t/topic/myKj 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录