没有字节顺序标记的UTF-8中的JSON提要

时间:2013-03-23 22:03:56

标签: json wcf api encoding byte-order-mark

我有一个用C#编写的WCF应用程序,用JSON或XML提供我的数据,具体取决于用户在查询字符串中要求的内容。以下是我的代码的快速片段,用于提供数据:

Encoding utf8 = new System.Text.UTF8Encoding(false);
return WebOperationContext.Current.CreateTextResponse(data, "application/json", utf8);

当我使用上述方法传送数据时,特殊字符全部搞砸了。所以查韦斯看起来像是查韦斯。另一方面,如果我使用BOM创建上面的utf8变量或使用枚举(Encoding.UTF8),特殊字符工作正常。但是,我的一些消费者抱怨他们的代码在使用我的API时会抛出异常。这当然是因为Feed中的BOM而发生的。有没有办法让我在Feed中正确显示没有BOM的特殊字符?

1 个答案:

答案 0 :(得分:0)

看起来输出是正确的,但无论您使用什么来显示它都需要ANSI编码的文本。 Châvez是用UTF-8编码Chávez并将结果解释为拉丁语1时得到的结果。