我有两个jsp说“ first.jsp”和“ second.jsp”,它包含在“ first.jsp ”中。我想在jsp中显示商标符号,所以我用了
<%@ page pageEncoding="UTF-8"%>
在“ first.jsp ”中,第一次加载页面时工作正常。但是当我调用ajax请求时,结果会出现在“ second.jsp ”中,其中包含在“ first.jsp ”中,这次商标符号是不正确显示。它显示一些块而不是商标符号。
当我看到viewSource时,我的符号显示正确。
我也尝试使用内容类型,但仍然没有运气。
EDITED
将编辑器编码设置更改为UTF-8后,它正在使用localhost但在测试服务器上失败。
任何帮助将不胜感激。
答案 0 :(得分:0)
您可以使用™
权限,然后无论编码如何都应该显示。
(但我同意最好让编码正常工作)
答案 1 :(得分:0)
您无需使用“UTF-8”编码即可显示版权字符。最简单的解决方案是使用HTML转义序列插入版权符号的ascii代码。对于您的情况,那将是©
。
您可以轻松找到网络上所有字符代码的列表(例如here)。
此外,您还可以找到为您进行HTML转义的代码。只需传递一个字符串并返回一个字符串,其中所有字符都正确转义。
请参阅此问题:Recommended method for escaping HTML in Java
修改强>
请参阅此链接了解running sample
答案 2 :(得分:0)
你需要把
<%@ page pageEncoding="UTF-8" %>
在每个 JSP上。不仅是主JSP,还包括作为ajax响应servlet滥用的包含JSP和JSP。
答案 3 :(得分:0)
在我提到的问题中,在一个JSP( first.jsp )中,我在javascript中使用“ innerHtml”包含另一个jsp说 second.jsp ()“这就是问题存在的地方。
我用JQueries“ html()”函数替换了那部分。它对我有用。其背后的原因是innerHtml()不执行脚本代码,而JQueries html()函数执行脚本代码。
所以用Jqueries html()函数替换 innerHtml()函数来添加另一个jsp为我做了诀窍。