在我们应用程序的网页上,商标符号(TM)显示为问号。但是,注册商标(R)有效。我们正在JSP标准库中使用c:out标记显示值。如果我在页面上放置™或™进行测试,则它们将按预期显示。

<td><c:out value="${item.description}"/></td> <!-- does not work -->
<td>yada yada yada Spiros&trade; yada yada yada</td> <!-- works -->


除此之外,我们还使用YUI,并且在显示这些页面之前,它们会作为查询结果显示在YUI数据表中(用户单击一行以转到上述页面)。 (TM)正确显示在该表中。这告诉我,我们正在从数据库中正确获取值,并且生成XML并发送回YUI数据表的服务器代码也可以正常工作。

那么,为什么除非我们将符号硬编码到页面上,否则相同的String为何会正确显示在YUI数据表中,而不是正常的JSP中显示?

最佳答案

您可能有编码问题。如果您的JSP中没有明确的编码:

<%@ page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>


那么该添加一个了。尝试使用UTF-8,如果不起作用,请尝试使用ISO-8859-1 ...,或者,如果您知道正确的编码,请使用它。

10-07 16:52