Среда VS2008, .Net 3.5
Следующий код C # (обратите внимание на указанную кодировку UTF8)
XmlWriterSettings settings = new XmlWriterSettings ();
StringBuilder sb = new StringBuilder();
settings.Encoding = System.Text.Encoding.UTF8;
settings.Indent = false;
settings.NewLineChars = "\n";
settings.ConformanceLevel = System.Xml.ConformanceLevel.Document;
XmlWriter writer = XmlWriter.Create (sb, settings);
{
// Write XML data.
writer.WriteStartElement ("CCHEADER");
writer.WriteAttributeString ("ProtocolVersion", "1.0.0");
writer.WriteAttributeString ("ServerCapabilities", "0x0000000F");
writer.WriteEndElement ();
writer.Flush ();
}
Фактически генерирует XML (> <опущено, потому что SO barfs на них): </p>
? Xml version = "1.0" encoding = "utf-16"?
CCHEADER ProtocolVersion = "1.0.0" ServerCapabilities = "0x0000000F" /
Почему я получаю неправильную кодировку, сгенерированную здесь? Что я делаю не так?