仅在页面的一半上编码错误

时间:2014-05-21 13:05:22

标签: java spring oracle jsp liferay

您好我想在页面上询问错误编码的问题根源

这个问题非常具体,因为页面的第一部分具有良好的编码,第二部分被破坏。 此外,它只出现在某些情况下,而不是总是。

最奇怪的是,它开始出现在一条消息的中间,在此消息之后,页面的其余部分的字符编码很糟糕。

此消息包含在JSP中,代码部分为<fmt:message key="the.text.wchich.makes.problems"/> 问题与JSP无关,因为错误的编码出现在消息中间。

  

Gratulujeme,totočíslossmôžetezarezervovaťkliknutínamtalačidloPokračovať。

但有时输出为

  

Gratulujeme,totočíslossmôžetezarezervovaťkliknut mnatlaÄidloPokraÄovaÅ¥。

  

Gratulujeme,totočíslosimô ¾etezarezervovaÅ¥kliknutÃnatalaÄidloPokraÄovaÅ¥。

所以这可能不是数据库中输入错误文本的错误。

我们正在使用 Liferay 6.0, jsp spring 。本地化字符串存储在 Oracle 11g 数据库中。


那么,编码怎么可能在页面中间开始破解?

2 个答案:

答案 0 :(得分:0)

您可能需要在JSP中指定编码为:

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

您应该能够通过CharacterEncodingFilter forceEncoding参数设置获得相同的结果,并映射到*路径+ INCLUDE发送。

答案 1 :(得分:0)

这只是一个建议。尝试从themeDisplay对象设置区域设置。

&lt; fmt:setLocale value =“&lt;%= themeDisplay.getLocale()&gt;”/&gt;

查看fmt:message是否有助于识别正确的消息区域。

注意:这要求您为用户或门户级别设置适当的区域设置。