Okay I tested it with the following code:
string xml = "<?xml version=\"1.0\" encoding=\"utf-8\"?><xml><value>受</value></xml>"; XmlWriterSettings settings = new XmlWriterSettings { Encoding = Encoding.Default }; MemoryStream ms = new MemoryStream(); using (XmlWriter writer = XmlTextWriter.Create(ms, settings)) XElement.Parse(xml).WriteTo(writer); string value = Encoding.Default.GetString(ms.ToArray());
And it correctly escaped the unicode character thus:
<?xml version="1.0" encoding="Windows-1252"?><xml><value>受</value></xml>
I must be doing something wrong somewhere else. Thanks for the help.