为什么jsp页面显示?对于文本而言,不能编码为ISO-8859-1如中文

时间:2015-04-13 09:42:12

标签: java jsp utf-8 character-encoding

为什么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"%>

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

1 个答案:

答案 0 :(得分:0)

修复了确保文件实际编码为UTF-8并更改

的问题
<%@ page contentType="text/html"%>

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