Тип XmlSerializer
имеет второй параметр в своем конструкторе, который является пространством имен xml по умолчанию - пространство имен "xmlns:":
XmlSerializer s = new XmlSerializer(typeof(mytype), "http://yourdefault.com/");
Чтобы установить кодировку, я бы предложил вам использовать XmlTextWriter
вместо прямой StringWriter
и создать что-то вроде этого:
XmlWriterSettings settings = new XmlWriterSettings();
settings.Encoding = Encoding.UTF8;
XmlTextWriter xtw = XmlWriter.Create(filename, settings);
s.Serialize(xtw, myData);
В XmlWriterSettings
вы можете определить множество опций, включая кодировку.