关于&#开头的HTML实体编码的问题
--------------------编程问答-------------------- string content = Server.HtmlEncode(Server.HtmlDecode("<font size=\"11\">二郎山<font/>"));Response.Write(content);
这样不行? --------------------编程问答-------------------- …… 不能先把二郎Decode 再把整个string Encode吗? --------------------编程问答--------------------
这样不行,我当时就想到了。再encode就又变回去了。这个decode出来的郎字,和直接定义的郎字,unicode码貌似不一样。 --------------------编程问答--------------------
你这个和#1楼的相法一样的,不行的哈。我在.NET和JAVA都测试了。 --------------------编程问答--------------------
string content = "<font size=\"11\">" + HttpUtility.HtmlDecode("二郎山") + "<font/>";
test.InnerText = content;
这样不行吗? --------------------编程问答-------------------- 如果要response.write输出
string content = HttpUtility.HtmlEncode("<font size=\"11\">") + HttpUtility.HtmlDecode("二郎山") + HttpUtility.HtmlEncode("<font/>"); --------------------编程问答-------------------- 6楼的肯定可以。
但这样的处理方式我个人不是很能接受。因为要对整个内容进行匹配和重新组装。 --------------------编程问答-------------------- replace("<","<").replace(">",">") --------------------编程问答-------------------- 恩,谢谢各位
其实仅仅只是处理web界面上的显示,我肯定是有办法的。
我其实最想达到的是这样的效果。
就是这个被Decode出来的“郎”,能够转换为真正的 “郎”字。(前面说了,这2种“郎”字的unicode码不一样,所以还是有区别的,被Decode出来的“郎”字再次Encode时会变回;的形式,而第2种“郎”字,无论Decode还是Encode都不会发生变化)
这样这个字以后再其他地方,无论如何处理都是不会出问题的。 --------------------编程问答-------------------- 用正则把汉字(就是<font ……>和</font>中间的字)提取出来进行Decode替换回去行不? --------------------编程问答-------------------- 可以写个方法尝试replace方法替换掉有针对性的字符 --------------------编程问答-------------------- replace("<","<").replace(">",">")
补充:.NET技术 , ASP.NET