c# - 使用UTF-8格式解析XDocument并作为UTF-8错误保存到MySQL

标签 c# xml utf-8 linq-to-xml

我正在解析 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/

相关文章:

c# - "Exception thrown: ' System.FormatException ' in Microsoft.SqlServer.Types.dll "在 ASP.NET 控制台应用程序 C#

c# - 在 C# 中使用 IP 协议(protocol)上的原始套接字读取传入数据包

java - 用于 Java 和/或 Scala 的多模式 XML 处理器

xml - 如何在 xsl 中的另一个 for-each 中使用 for-each

python - 将二进制数据转换为utf-8

c# - 使用 Unity 容器注册递归结构

c# - 客户端服务器应用 upnp/端口转发问题

php - PHP 实现后 header 移位(UTF-8 BOM)

python - 使用 python 增量解析大型维基百科转储 XML 文件

php - UTF-8 到 Unicode 代码点