JSP中的页面编码

时间:2011-05-24 11:04:30

标签: ajax jsp encoding

我有两个jsp说“ first.jsp”和“ second.jsp”,它包含在“ first.jsp ”中。我想在jsp中显示商标符号,所以我用了

  <%@ page pageEncoding="UTF-8"%>

在“ first.jsp ”中,第一次加载页面时工作正常。但是当我调用ajax请求时,结果会出现在“ second.jsp ”中,其中包含在“ first.jsp ”中,这次商标符号是正确显示。它显示一些块而不是商标符号。

当我看到viewSource时,我的符号显示正确。

我也尝试使用内容类型,但仍然没有运气。

EDITED

将编辑器编码设置更改为UTF-8后,它正在使用localhost但在测试服务器上失败。

任何帮助将不胜感激。

4 个答案:

答案 0 :(得分:0)

您可以使用&trade;权限,然后无论编码如何都应该显示。

(但我同意最好让编码正常工作)

答案 1 :(得分:0)

您无需使用“UTF-8”编码即可显示版权字符。最简单的解决方案是使用HTML转义序列插入版权符号的ascii代码。对于您的情况,那将是&#169;

您可以轻松找到网络上所有字符代码的列表(例如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为我做了诀窍。