如何阻止Server.HtmlEncode对UTF8字符进行编码?我将代码页设置为UTF8但没有帮助
这是我的测试用例:
<%@CODEPAGE=65001%>
<%
Response.CodePage = 65001
Response.CharSet = "utf-8"
%>
<%=Server.HtmlEncode("русский stuff <b>bold stuff</b>")%>
通常应该输出:
русский stuff <b>bold stuff</b>
但输出是:
русский stuff <b>bold stuff</b>
答案 0 :(得分:3)
Server.HtmlEncode方法转义&gt;,&lt;,&amp;,“字符以及代码大于或等于0x80的任何ascii代码字符。
您可以过滤哪个角色将被逃脱。
通用字符将以模式编码
如果您愿意,也可以添加其他字符。
Private Function cb_Escape(ByVal a, ByVal b, ByVal c, ByVal d)
cb_Escape = Server.HTMLEncode(b)
End Function
Private Function HTMLEncode2(ByVal sHTML)
Dim oReg
Set oReg = New RegExp
oReg.Global = True
oReg.Pattern = "([<>""&]+)"
HTMLEncode2 = oReg.Replace(sHTML, GetRef("cb_Escape"))
Set oReg = Nothing
End Function
Response.Write HTMLEncode2("русский stuff <b>bold stuff</b>")