gpt4 book ai didi

java - .jspx 中的编码错误

转载 作者:行者123 更新时间:2023-11-29 06:20:25 25 4
gpt4 key购买 nike

我目前正在尝试在 WebLogic 应用服务器上部署一些 RSS 提要。提要的 View 是 .jspx 文件,如下所示:

<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom"
xmlns:georss="http://www.georss.org/georss"
xmlns:jsp="http://java.sun.com/JSP/Page"
xmlns:c="http://java.sun.com/jsp/jstl/core"
xmlns:fmt="http://java.sun.com/jsp/jstl/fmt"
xmlns:fn="http://java.sun.com/jsp/jstl/functions"
xmlns:util="http://example.com/util">
<jsp:directive.page pageEncoding="utf-8" contentType="application/xhtml+xml" />

<jsp:useBean id="now" class="java.util.Date" scope="page" />

[...]

<c:forEach var="category" items="${categories}">
<entry>
<title>${util:htmlEscape(category.label)}</title>
<id>${category.id}</id>
<c:if test="${empty parentId}">
<link href="${util:htmlEscape(fullRequest)}?parentId=${category.id}" />
</c:if>
<summary>${util:htmlEscape(category.localizedLabel)}</summary>
</entry>
</c:forEach>
</feed>

问题是,在我的本地开发服务器 (Apache Tomcat 6.0) 上,一切都呈现良好,但在 WebLogic 服务器上,我得到了所有的 UTF-8 字符。

在 Firefox 中,我看到类似 <summary>Formaci�n</summary> 的内容.奇怪字符的字节序列是ef bf bd我似乎得到了我应该在我正在进行的测试中收到的所有 UTF-8 字符 (á, ó, í)。我已经检查了 Firebug 中的内容类型和编码,看起来没问题(Content-Type: application/xhtml+xml; charset=UTF-8)。

在 Chrome 中,内容在第一次出现奇怪字符时被截断,并显示错误消息:This page contains the following errors: error on line 1 at column 523: Encoding error .

我不确定发生了什么,但我认为这与网络服务器正在做的事情有关,考虑到在我的本地 Tomcat 上一切正常。欢迎任何想法。

谢谢,
亚历克斯

最佳答案

问题出在 jspx 指令中属性的顺序 以及我没有在 contentType 属性中包含字符集这一事实!

切换后:

<jsp:directive.page pageEncoding="utf-8" contentType="application/xhtml+xml" />

到:

<jsp:directive.page contentType="application/xhtml+xml; charset=UTF-8" 
pageEncoding="UTF-8" />

人物表现不错。我又摆弄了一下,奇怪地发现:

<jsp:directive.page pageEncoding="UTF-8"
contentType="application/xhtml+xml; charset=UTF-8" />

不起作用。我真的不明白为什么,但我猜这是 WebLogic 中的一个错误。我部署的版本是 10.0。

关于java - .jspx 中的编码错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3317711/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com