C# .NET 4.5.1 Web API 中文乱码问题:StreamWriter 和 UTF-8 编码
在 C# .NET 4.5.1 Web API 中,使用 var writer = new StreamWriter(stream, new UTF8Encoding(false)); 写入数据流到客户端时,如果客户端接收到的中文出现乱码,可能是由于客户端没有正确解析接收到的数据。
以下几种方法可以尝试解决问题:
- 客户端设置编码格式: 在客户端代码中,使用正确的编码格式解析接收到的数据。例如,可以使用
Encoding.UTF8或Encoding.GetEncoding('utf-8')进行解码。 - 服务端设置 Content-Type 响应头: 在服务端代码中,设置响应头的
Content-Type为application/json; charset=utf-8,明确指定编码格式。
即使设置了 config.Formatters.JsonFormatter.SupportedEncodings.Add(Encoding.UTF8);,仍然可能出现乱码问题,因为这只是设置了服务端支持的编码格式,而客户端可能没有按照相同的编码格式解析数据。
确保在数据传输过程中没有发生任何编码转换导致数据损坏,是解决中文乱码问题的关键。
原文地址: https://www.cveoy.top/t/topic/myLn 著作权归作者所有。请勿转载和采集!