我是ServiceStack的新手。它有提供数据的CSV文件功能,但我需要以UTF8格式下载它,因为我得到了一些特殊字符。我已经尝试了这个配置设置。
SetConfig(new HostConfig
{
AppendUtf8CharsetOnContentTypes = new HashSet<string> { MimeTypes.Csv }
});
但是没有运气。 请建议我做错了什么。
我是ServiceStack的新手。它有提供数据的CSV文件功能,但我需要以UTF8格式下载它,因为我得到了一些特殊字符。我已经尝试了这个配置设置。
SetConfig(new HostConfig
{
AppendUtf8CharsetOnContentTypes = new HashSet<string> { MimeTypes.Csv }
});
但是没有运气。 请建议我做错了什么。
ServiceStack Text序列化器默认已经使用UTF8进行序列化。下面的配置只是添加了UTF8后缀,以便返回完整的Content-Type为text/csv; charset=utf-8
:
SetConfig(new HostConfig {
AppendUtf8CharsetOnContentTypes = new HashSet<string> { MimeTypes.Csv }
});
这并不改变它序列化为的UTF-8格式。
我已经做了一个更改,允许您修改ServiceStack.Text中不同文本序列化程序使用的UTF8Encoding 在这个提交中。
这将允许您指定使用UT8 BOM来发射CSV序列化器:
CsvSerializer.UTF8Encoding = UTF8Encoding(true);
对于 ServiceStack 版本 > 5.x.x,您必须像这样更改代码
CsvSerializer.UseEncoding = PclExport.Instance.GetUTF8Encoding(true);