public string Serialize(BackgroundJobInfo info)
{
var stringBuilder = new StringBuilder();
using (var stringWriter = new StringWriter(stringBuilder, CultureInfo.InvariantCulture))
{
var writer = XmlWriter.Create(stringWriter);
...
Per impostazione predefinita, StringWriter
si pubblicizzerà come UTF-16
. Solitamente lo XML
è in UTF-8
. Così posso risolvere questo problema sottoclasse StringWriter
Dovrei preoccuparmi della codifica durante la serializzazione?
public class Utf8StringWriter : StringWriter
{
public override Encoding Encoding
{
get { return Encoding.UTF8; }
}
}
Ma perché dovrei preoccupare di questo? Cosa sarà se decido di utilizzare StringWriter
(come ho fatto io) invece di Utf8StringWriter
? Avrò qualche bug?
Dopo che scriverò questa stringa di MongoDb
Fate le risposte a questa domanda di aiuto? http://stackoverflow.com/questions/13743250/meaning-of-xml-version-1-0-encoding-utf-8 –