首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >下载CSV文件(UTF 8)编码ServiceStack

下载CSV文件(UTF 8)编码ServiceStack
EN

Stack Overflow用户
提问于 2015-02-03 10:34:34
回答 2查看 1.1K关注 0票数 4

我是ServiceStack的新手。它具有为数据提供csv文件的功能,但我需要以UTF8格式下载它,因为我得到了一些特殊的字符。我已经尝试过这个配置设置。

代码语言:javascript
复制
SetConfig(new HostConfig
        {
            AppendUtf8CharsetOnContentTypes = new HashSet<string> { MimeTypes.Csv } 
        });

但没有运气..。请建议我做错了什么。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-02-03 22:26:33

默认情况下,ServiceStack文本序列化器已经序列化为UTF8。下面的配置只追加UTF8后缀,因此返回的完整内容类型是text/csv; charset=utf-8

代码语言:javascript
复制
SetConfig(new HostConfig {
    AppendUtf8CharsetOnContentTypes = new HashSet<string> { MimeTypes.Csv } 
});

它不会改变序列化到已经是UTF-8的内容。

我做了一个更改,允许您修改用于ServiceStack.Text 在这个承诺中中不同文本序列化程序的ServiceStack.Text。

这将允许您指定为CSV序列化程序发出一个UT8 BOM,其中:

代码语言:javascript
复制
CsvSerializer.UTF8Encoding = UTF8Encoding(true);

此更改可从v4.0.37+ (即现在的可在MyGet上获得 )获得。

票数 3
EN

Stack Overflow用户

发布于 2018-04-10 15:59:53

对于ServiceStack版本> 5.x.x,您必须像下面这样修改代码

代码语言:javascript
复制
CsvSerializer.UseEncoding = PclExport.Instance.GetUTF8Encoding(true);

默认情况下,它使用的是CsvSerializer.UseEncoding = PclExport.Instance.GetUTF8Encoding(false); // without BOM

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28296759

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档