2012-06-05 43 views
0

我想HTML编码一个包含alpha,beta和gamma字符(α,β,γ )的字符串。不幸的是,使用System.Web.HttpUtility.HtmlEncode不会编码这些字符。 .NET库中是否有其他函数将这些函数编码为HTML?HTML编码alpha,beta,gamma

+0

你确定*你需要对它们进行编码吗? αβγ和大多数其他Unicode字符可以直接包含在HTML文档中,但只要其编写的编码匹配“”字符集,就可以直接包含这些字符。如果可能的话,尝试解决字符集问题通常更好,而不是用HTML编码解决它。 (这就是为什么'HtmlEncode'只剩下HTML特殊字符的原因。) – bobince

+0

@bobince,在正常情况下,我不会关心它们的编码。我对它们进行了编码,因为我们有第三方应用程序在从数据库中读取这些字符时遇到问题。 – Justin

回答

1

并不知悉任何内置的工具,这一点,但你可以用这个方便的功能:

public string ForceHtmlEncode(string input) 
{ 
    return string.Concat(input.Select(c => "&#" + (int)c + ";")); 
} 

这会简单地转换所有字符字符串到HTML实体。

+0

谢谢。这将完成工作。我结束了使用在这里找到的功能:http://www.codeproject.com/Articles/20255/Full-HTML-Character-Encoding-in-C – Justin

+0

@Justin很好,必须说我发布我自己的代码之前从未看到这个。相同的结果,除了您找到的代码不会编码“普通”字符。 –