Asp.net HTML输出中的特殊字符,可能是由于编码问题

Asp.net HTML输出中的特殊字符,可能是由于编码问题,asp.net,encoding,character-encoding,Asp.net,Encoding,Character Encoding,我在正在渲染的ASP.NET页面中看到一个特殊字符。 此页面将该内容作为来自REST服务的XML响应读取 如果我在浏览器中加载XML,它会显示“-”很好。(比通常的破折号长:)) 但是当使用EVAL在ASPX页面转发器上打印时,它会显示一个特殊字符 该页面有一个元标记 <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> 不过,浏览器会将页面编码检测为UTF-8 我正在寻找一个解决方

我在正在渲染的ASP.NET页面中看到一个特殊字符。 此页面将该内容作为来自REST服务的XML响应读取

如果我在浏览器中加载XML,它会显示“-”很好。(比通常的破折号长:))

但是当使用EVAL在ASPX页面转发器上打印时,它会显示一个特殊字符

该页面有一个元标记

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />

不过,浏览器会将页面编码检测为UTF-8


我正在寻找一个解决方案,这样我可以摆脱特殊字符。

字符可能是ASCII码150或151。一些程序(特别是MS Word)将这些用于短划线和长划线。问题是字符集ISO-8859-1没有将128-159之间的字符映射到任何值,因此您无法确定浏览器将如何显示该字符

以下函数(仅键入,未选中)将源字符串从8859-1转换为UTF-8

function string MakeUTF8String(string SourceStr)
{
   byte[] b = Encoding.GetEncoding("iso-8859-1").GetBytes(SourceStr)
   return System.Text.Encoding.UTF8.GetString(b);
}

谢谢,成功了。我也在尝试同样的方法。但是GetEncoding(“[specific one]”)是有帮助的。