C#序列化GB2312 中文乱码

weimei521 2018-06-27 09:42:24
 public string XmlSerializeA(string path, object obj, Type type)
{
XmlSerializerNamespaces ns = new XmlSerializerNamespaces();
ns.Add("", "");
if (!File.Exists(path))
{
FileInfo fi = new FileInfo(path);
if (!fi.Directory.Exists)
{
Directory.CreateDirectory(fi.Directory.FullName);
}
}
using (MemoryStream stream = new MemoryStream())
{
XmlWriterSettings xws = new XmlWriterSettings();
xws.Indent = true;
xws.Encoding = Encoding.UTF8;
//xws.Encoding = Encoding.GetEncoding(936);
using (XmlWriter xtw = XmlWriter.Create(stream, xws))
{
XmlSerializer serializer = new XmlSerializer(type);
serializer.Serialize(xtw, obj, ns);
stream.Position = 0;
string xml = Encoding.UTF8.GetString(stream.GetBuffer());
System.IO.File.WriteAllText(path, xml);
return xml;
}
}
}

在序列化的时候,中文是乱码的,怎么解决
...全文
672 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
weimei521 2018-06-27
  • 打赏
  • 举报
回复



引用 1 楼 starfd 的回复:
string xml = Encoding.UTF8.GetString(stream.GetBuffer());

你改了上面不改下面能不乱码吗?

好了,谢谢
  • 打赏
  • 举报
回复
string xml = Encoding.UTF8.GetString(stream.GetBuffer());

你改了上面不改下面能不乱码吗?

17,740

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 .NET Framework
社区管理员
  • .NET Framework社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧