【问题标题】:German Letters encoding problem德语字母编码问题
【发布时间】:2011-10-16 15:35:26
【问题描述】:

我从一个德语网页获取 HTML,我必须将它的 html 插入数据库,但是当我将它插入数据库时​​,德语字母并没有正确显示。 例如。 Bundesstraße 显示为 Bundesstraße。我正在使用 C# 和 MYsql 数据库。

【问题讨论】:

  • 两个示例值之间没有区别。您可以编辑它以使其更清晰吗?

标签: c# encoding character-encoding


【解决方案1】:

似乎特殊字符在网站上被编码为 html 实体 (http://www.w3schools.com/tags/ref_entities.asp)。使用 UTF8 时,这不是必需的,但许多网站仍然这样做。

如果您想获得与网站上完全相同的 html,则这些编码实体是正确的。 要解码实体,您可以使用System.Net.WebUtility.HtmlDecode(yourString)

【讨论】:

  • 也一样。使用System.Net.WebUtility.HtmlDecode(yourString),您无需添加对 System.Web.dll 的引用。
【解决方案2】:

您使用的是什么编码?

尝试切换到 UTF-8 并确保您的数据库支持它。看起来好像您的字符串正在获取 HTML 编码,这很适合演示,但您需要原始格式将其存储在数据库中。

【讨论】:

  • 我在mysql中使用数据类型“utf8_general_ci”
【解决方案3】:

在 HTML 中,ß 被编码为 ß

你说“我必须在数据库中插入它的 html”,而你目前得到的是正确的。

【讨论】:

    猜你喜欢
    • 2013-11-28
    • 2021-10-11
    • 2019-07-04
    • 2013-05-17
    • 2019-07-05
    • 2012-05-30
    • 2021-07-08
    • 1970-01-01
    • 2011-08-18
    相关资源
    最近更新 更多