2011-07-30 74 views
0

我從德國語言的網頁獲取HTML,我必須在數據庫中插入它的HTML,但是當我將它插入數據庫時​​,德語字母不會顯得很難理解。 例如Bundesstraße顯示爲Bundesstraße。我正在使用C#和MYsql數據庫。德國字母編碼問題

+0

這兩個示例值之間沒有區別。你可以編輯這個更清楚嗎? – Peter

回答

3

似乎特殊字符在網站上被編碼爲html實體(http://www.w3schools.com/tags/ref_entities.asp)。使用UTF8時,這不是必需的,但許多網站仍然這樣做。

如果您想要具有與網站上相同的HTML,則這些編碼的實體是正確的。 要解碼實體,您可以使用System.Net.WebUtility.HtmlDecode(yourString)

+0

感謝Peter。我的問題解決了 – Ishti

+0

我用System.Web.HttpUtility.HtmlDecode(html); – Ishti

+0

這是一樣的。通過'System.Net.WebUtility.HtmlDecode(yourString)',您不必添加對System.Web.dll的引用。 – Peter

1

你使用什麼編碼?

嘗試切換到UTF-8並確保您的數據庫支持它。它看起來好像您的字符串正在獲取HTML編碼,這對於演示文稿來說很好,但您需要原始格式將其存儲在數據庫中。

+0

我在mysql中使用數據類型「utf8_general_ci」 – Ishti

0

在HTML中,ß編碼爲ß

你說「我必須在數據庫中插入它的html」,並且你目前得到的是正確的。