下载CSV文件(UTF 8)编码ServiceStack
我是ServiceStack的新手。它有提供数据csv文件的功能,但我需要下载UTF8格式,因为我得到一些特殊字符。我尝试过这个配置设置下载CSV文件(UTF 8)编码ServiceStack,csv,utf-8,
servicestack,Csv,Utf 8,
servicestack,我是ServiceStack的新手。它有提供数据csv文件的功能,但我需要下载UTF8格式,因为我得到一些特殊字符。我尝试过这个配置设置 SetConfig(new HostConfig { AppendUtf8CharsetOnContentTypes = new HashSet<string> { MimeTypes.Csv } }); SetConfig(新主机配置) { AppendUtf8CharsetOnCont
SetConfig(new HostConfig
{
AppendUtf8CharsetOnContentTypes = new HashSet<string> { MimeTypes.Csv }
});
SetConfig(新主机配置)
{
AppendUtf8CharsetOnContentTypes=新哈希集{MimeTypes.Csv}
});
但是没有运气。。请说明我做错了什么。ServiceStack文本序列化程序已默认序列化为UTF8。下面的配置仅附加UTF8后缀,因此返回的完整内容类型为
text/csv;字符集=utf-8
:
SetConfig(new HostConfig {
AppendUtf8CharsetOnContentTypes = new HashSet<string> { MimeTypes.Csv }
});
此更改可从现在的v4.0.37+获得。对于ServiceStack版本>5.x.x,您必须像这样更改代码
CsvSerializer.UseEncoding = PclExport.Instance.GetUTF8Encoding(true);
默认情况下,它使用的是
CsvSerializer.useconding=PclExport.Instance.GetUTF8Encoding(false);//无BOM
谢谢您的回复。我检查了在Notepad++中下载的文件,当我检查编码时,它显示了没有BOM的UTF-8。当我将其修改为UTF-8时,特殊字符就消失了。请让我知道我可以更改哪个设置,这样我就可以只获得UTF-8编码的文件。听起来好像是UTF-8,没有BOM/字节顺序标记。BOM是可选的-。您可能必须自定义序列化程序才能在流中发送BOM序列。@Raulnoheagooddy是的,您是对的,但我们可以在客户端添加BOM字符,如下面链接中所述
CsvSerializer.UseEncoding = PclExport.Instance.GetUTF8Encoding(true);