下载 CSV 文件 (UTF 8) 编码 ServiceStack
Download CSV file (UTF 8) encoding ServiceStack
我是 ServiceStack 的新手。它具有为数据提供 csv 文件的功能,但我需要以 UTF8 格式下载它,因为我得到了一些特殊字符。我试过这个配置设置。
SetConfig(new HostConfig
{
AppendUtf8CharsetOnContentTypes = new HashSet<string> { MimeTypes.Csv }
});
但运气不好..请指出我做错了什么。
ServiceStack 文本序列化器默认已经序列化为 UTF8。下面的配置只附加了 UTF8 后缀,所以返回的完整 Content-Type 是 text/csv; charset=utf-8
:
SetConfig(new HostConfig {
AppendUtf8CharsetOnContentTypes = new HashSet<string> { MimeTypes.Csv }
});
它不会改变序列化为 UTF-8 的内容。
我进行了更改,允许您修改用于 ServiceStack.Text in this commit.
中不同文本序列化程序的 UTF8Encoding
这将允许您指定为 CSV 序列化器发出 UT8 BOM:
CsvSerializer.UTF8Encoding = UTF8Encoding(true);
此更改适用于 v4.0.37+,现在是 available on MyGet。
对于 ServiceStack 版本 > 5.x.x 你必须像这样更改你的代码
CsvSerializer.UseEncoding = PclExport.Instance.GetUTF8Encoding(true);
默认使用CsvSerializer.UseEncoding = PclExport.Instance.GetUTF8Encoding(false); // without BOM
我是 ServiceStack 的新手。它具有为数据提供 csv 文件的功能,但我需要以 UTF8 格式下载它,因为我得到了一些特殊字符。我试过这个配置设置。
SetConfig(new HostConfig
{
AppendUtf8CharsetOnContentTypes = new HashSet<string> { MimeTypes.Csv }
});
但运气不好..请指出我做错了什么。
ServiceStack 文本序列化器默认已经序列化为 UTF8。下面的配置只附加了 UTF8 后缀,所以返回的完整 Content-Type 是 text/csv; charset=utf-8
:
SetConfig(new HostConfig {
AppendUtf8CharsetOnContentTypes = new HashSet<string> { MimeTypes.Csv }
});
它不会改变序列化为 UTF-8 的内容。
我进行了更改,允许您修改用于 ServiceStack.Text in this commit.
中不同文本序列化程序的 UTF8Encoding这将允许您指定为 CSV 序列化器发出 UT8 BOM:
CsvSerializer.UTF8Encoding = UTF8Encoding(true);
此更改适用于 v4.0.37+,现在是 available on MyGet。
对于 ServiceStack 版本 > 5.x.x 你必须像这样更改你的代码
CsvSerializer.UseEncoding = PclExport.Instance.GetUTF8Encoding(true);
默认使用CsvSerializer.UseEncoding = PclExport.Instance.GetUTF8Encoding(false); // without BOM