在c#中编码特殊字符

时间:2013-05-28 07:42:43

标签: c# encoding

在我的c#应用程序中,我以xml的形式接收帖子数据。在xml中,我有一个接收为“SmÃ¥senter (Sandvika SmÃ¥senter)”的属性。在插入数据库之前,我需要将其编码为“Småsenter (Sandvika Småsenter)”。我试着使用下面的代码,

string name = "Småsenter (Sandvika Småsenter)";
name = HttpUtility.HtmlDecode(name);

还尝试name = HttpUtility.HtmlEncode(name);

但它没有给出预期的产出。 是否有任何建议可以获得预期的字符。

此致

桑杰塔

1 个答案:

答案 0 :(得分:5)

您刚刚遇到Mojibake,这是由混合文字编码引起的。您需要使用相同的编码来编写和读取XML,最好使用Unicode编码,例如UTF-8。你不应该尝试修复一个破损的字符串,如“SmÃ¥senter”,而是让它不会破坏。