我有這樣的代碼來創建一個ATOM供稿爲什麼我的ATOM XML UTF-16而不是UTF-8
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編寫器是添加XML聲明,但作爲settings.Encoding不起作用的部分,我很難過。請幫忙!
感謝
乾杯JasonTrue,你的補充完全回答我的問題。我實際上已經忘記了我當時正在做的事情,但是當它再次出現時,我會記得檢查這個答案,並根據您的信息向前推進。 – 2009-11-04 08:36:44