StreamWriter sw = new StreamWriter(ConfigurationManager.AppSettings["BoxZXmlFile"].ToString() + "product" + (i + 1).ToString() + ".xml", false, new UTF8Encoding(false));
sw.WriteLine("<?xml version=\"1.0\" encoding=\"UTF-8\" ?>");
sw.WriteLine("<products>");
sw.WriteLine(string.Format(" <name>{0}</name>", "<![CDATA[" + System.Web.HttpUtility.HtmlEncode(RemoveHtml(TickPictureList[j].ProductName.ToString())) + "]]>"));
sw.WriteLine("</products>");
sw.Close();在我本地写出的XML的CDATA里一切正常
放到服务器跑就会出现乱码
乱码的几行数据里包含特殊符号全角(全角【半角)半角]-号和&符号
我迷茫了。。本地没有任何问题
CDATA难道还和操作系统环境有关联?
如果说CDATA中ASCII32以下乱码那我本地也应该乱码啊
<?xml version="1.0" encoding="utf-8" ?>
StreamWriter sw = new StreamWriter(ConfigurationManager.AppSettings["BoxZXmlFile"].ToString() + "product" + (i + 1).ToString() + ".xml", false, new UTF8Encoding(false));写sw.WriteLine("<?xml version=\"1.0\" encoding=\"UTF-8\" ?>");头
读是那边指定要不含BDM的UTF-8应该也不会错
试试看
连UTF-8+BOM的都不行
gb2312不可以