我有这个代码来创建一个 ATOM 提要
Dim xmlResult As New StringBuilder
Dim settings As New XmlWriterSettings
Dim atomWriter As XmlWriter = XmlWriter.Create(xmlResult, settings)
Dim atomFormatter As Atom10FeedFormatter = New Atom10FeedFormatter(feed)
atomFormatter.WriteTo(atomWriter)
atomWriter.Close()
它返回如下开头的 XML:
<?xml version="1.0" encoding="utf-16"?><feed xmlns="http://www.w3.org/2005/Atom">
无论我尝试什么,我都无法让它返回 utf-8 而不是 utf-16。当它是 utf-16 时,它无法与 IE8 一起使用,但 utf-8 可以正常工作。我怎么知道它可以正常工作我听到你问我是否不能让它返回 utf-8,我最终使用这行代码将提要返回到浏览器:
Response.Write(Replace(xmlResult.ToString, "utf-16", "utf-8"))
这肯定是你今天见过的最糟糕的黑客,如果不是我为你感到难过!
所以这就是我试图获得 UTF-8 的内容:
Response.ContentEncoding = System.Text.Encoding.UTF8
Response.Charset = "UTF-8"
settings.Encoding = System.Text.Encoding.UTF8
设置行是我认为可行的,但不适合我。我的理解是 XML Writer 是添加 XML 声明的部分,但是由于 settings.Encoding 不起作用,我很难过。请帮忙!
谢谢