我正在解析 UTF-8 格式的 XML 文档,如下所示:
XDocument doc = GetXmlFeed(url);
doc.Declaration = new XDeclaration("1.0", "utf-8", "true");
var root = doc.Root;
if (year == highestYear)
data = new TourDetails()
{
TourName = root.Element("tourName").Value,
DetailedItenerary = (from a in root.Element("detailedItinerary").Descendants("detailedItineraryItem")
select new IteneraryItem()
{
Label = a.Attribute("label").Value,
Contents = a.Value
}).ToList()
};
DetailedItinerary 的内容采用 UTF-8 格式。但是,当我们将它保存在数据库中时,我们会得到奇怪的字符,例如 ' 和其他字符。
如何将要使用的内容理解为 UTF-8 格式。我假设不使用 UTF-8 的部分是 xml linq 部分中的 a.value。
我们的 MySQL 数据库默认设置为使用 UTF-8,并且在我们使用的所有数据库中。
有人知道怎么解决吗?谢谢!
最佳答案
好的,我似乎已经通过使用解决了这个问题:
Contents = System.Text.Encoding.UTF8.GetString(System.Text.Encoding.Default.GetBytes(a.Value))
关于c# - 使用UTF-8格式解析XDocument并作为UTF-8错误保存到MySQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7854597/