Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java JSP与商标符号_Java_Jsp_Symbols - Fatal编程技术网

Java JSP与商标符号

Java JSP与商标符号,java,jsp,symbols,Java,Jsp,Symbols,在我们应用程序的网页上,商标符号(TM)显示为问号。不过,注册商标(R)仍然有效。我们使用JSP标准库中的c:out标记显示该值。如果我把&交易;或™;在测试这一点的页面上,它们按预期显示 <td><c:out value="${item.description}"/></td> <!-- does not work --> <td>yada yada yada Spiros&trade; yada yada yada

在我们应用程序的网页上,商标符号(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)正确地显示在该表中。这告诉我,我们正在正确地从数据库中获取值,并且生成要发送回YUI数据表的XML的服务器代码也可以正常工作


那么,为什么相同的字符串会正确地显示在YUI数据表中,而不是在普通JSP中,除非我们将符号硬编码到页面上?

当字符显示为时?在浏览器(通常是Firefox)中,这意味着页面编码(由浏览器检测到)将无法识别字符。一个好的测试是在Firefox中查看->字符编码->UTF-8。如果字符显示正确,则表示(tm)字符是使用UTF-8标准编码的。您必须指示您的页面将响应编码头设置为UTF-8。这对您来说应该马上就可以了

如果这不起作用,您应该首先了解字符是如何编码的(例如,查看从数据库读取的编码),并尝试将页面编码头设置为该编码


第二种格式之所以有效,是因为(TM)字符被编码为已知的html实体,浏览器会对其进行解释,而不考虑页面编码。

您可能有编码问题。如果JSP中没有显式编码:

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


然后是添加一个的时候了。试试UTF-8,如果不起作用,试试ISO-8859-1……或者如果你知道正确的编码,就用它。

页面使用什么字符编码?没有“使用unicode编码”这样的东西unicode是一个字符集,而不是编码。你似乎把unicode和UTF-8混为一谈了。真的:-)。我被迷住了。编辑。