【问题标题】:Why is jsp page showing ? for text than cannot be encoded as ISO-8859-1 such as Chinese为什么会显示jsp页面?对于无法编码为 ISO-8859-1 的文本,例如中文
【发布时间】:2015-06-18 13:56:46
【问题描述】:

为什么会显示jsp页面? for 或 text 不能编码为 ISO-8859-1,即使我的 jsp 有:

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>

jsp页面是http://www.albunack.net/,你可以在艺术家名字段中输入chuan并按提交来查看问题。

奇怪的是,如果您然后单击其中一个问号链接,它会将您带到该艺术家的页面并正确呈现中文字符。因此,服务器(tomcat 8)似乎已正确设置以呈现 UTF8,不同之处在于艺术家页面由 servlet 呈现,而搜索页面是 jsp,因此这似乎是一个特定于 jsp 的问题。

无论是在我自己的机器上本地运行还是部署(如上面的链接)到 AWS,我都有同样的问题。

更新 1 已修复,问题是jsp页面实际上并未编码为utf8(因为静态内容中没有字符,编辑器认为不需要使用默认编码以外的任何内容),强制保存所有jsp文件以使用UTF-8和它现在可以了。

更新 2 嗯,问题再次出现,我已经重新保存了 jsps 并包含到 UTF-8,但这次没有任何区别

更新 3 通过更改修复

<%@ page contentType="text/html"%>

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

不清楚为什么我现在必须这样做

【问题讨论】:

    标签: java jsp utf-8 character-encoding


    【解决方案1】:

    固定确保文件实际编码为 UTF-8 并通过更改

    <%@ page contentType="text/html"%>
    

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

    【讨论】:

      猜你喜欢
      • 2014-08-21
      • 1970-01-01
      • 2023-03-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-05-12
      • 2014-03-27
      • 2015-07-07
      相关资源
      最近更新 更多