В настоящее время я пытаюсь развернуть несколько RSS-каналов на сервере приложений WebLogic.Представления каналов - это файлы .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 все в порядке.Любые идеи приветствуются.
Спасибо,
Алекс