public string Serialize(BackgroundJobInfo info)
{
var stringBuilder = new StringBuilder();
using (var stringWriter = new StringWriter(stringBuilder, CultureInfo.InvariantCulture))
{
var writer = XmlWriter.Create(stringWriter);
...
Domyślnie StringWriter
będzie się reklamować jako będący w UTF-16
. Zwykle XML
jest w UTF-8
. Więc mogę rozwiązać ten problem przez instacji StringWriter
Czy powinienem martwić się kodowaniem podczas serializacji?
public class Utf8StringWriter : StringWriter
{
public override Encoding Encoding
{
get { return Encoding.UTF8; }
}
}
Ale dlaczego mam się tym martwić? Co będzie, jeśli zdecyduję się użyć StringWriter
(tak jak ja) zamiast Utf8StringWriter
? Czy mam jakiś błąd?
Po tym będę pisać ten ciąg do MongoDb
Czy odpowiedź na to pytanie pomoc? http://stackoverflow.com/questions/13743250/meaning-of-xml-version-1-0-encoding-utf-8 –