.net HTML编码ISO10646字符,商标,欧元等

时间:2011-06-20 11:01:01

标签: .net vb.net html-encode

我在通过.NET为XML文件中的输出编码字符时遇到了一系列问题。我有一种感觉,问题与正在使用的Response对象的设置有关,但我无法找到正确的设置。

如果我执行以下操作:

system.web.httpcontext.current.response.write("€ & ™" & server.HTMLEncode(" € & ™ "))

我得到以下输出:

€ & ™ € & ™

问题是为什么标准ASCII字符编码,但扩展(?)字符不?我需要给服务器对象一些设置,告诉它转换像Euro / Trade Mark这样的字符吗?

MSDN的HTMLEncode功能页面的一个要点是:

  

任何代码大于或等于0x80的ASCII代码字符都会转换为&#,其中是ASCII字符值。

1 个答案:

答案 0 :(得分:2)

您似乎在查看classic ASP server objects的文档。

ASP.NET字符串是基于Unicode的,而不是基于ASCII的,documentation不提及ASCII。

如果您使用TextWriter初始化Encoding.AsciiEncoding的重载,则可以确保ASCII编码。