设置 JSP 文件的页面字符编码
另请参见
页面字符编码是编写 JSP 源文件所使用的编码。JSP 2.0 规范在检测页面字符编码时区分以下两种语法:
- 对于使用标准 JSP 语法的文件,将通过查看两个主要信息源来检测编码:首先,在部署描述符(web.xml 文件)中查看 jsp-property-group(其 URL 模式与文件匹配)中的 page-encoding 元素;然后,在页面自身中查看 pageEncoding 属性。如果两者均不存在,则使用 JSP 文件的 contentType 属性的 charset,或者使用 ISO 8859-1 字符编码作为最终的后备编码。
- 对于使用 JSP 文档语法的文件,将遵循 XML 规范来检测编码;这意味着 UTF-8 是缺省编码,任何其他编码都必须在文件开头的 XML 声明中进行声明。
为使用标准 JSP 语法的文件设置页面字符编码:
对于 JSP 文件(标准语法),请按如下方式设置页面编码:
- 创建 JSP 文件,该文件使用标准 JSP 语法。右键单击该 JSP 文件,然后选择“属性”。请注意,“编码”属性设置为 UTF-8。这是 JSP 文件的页面编码。不能在“属性”表单中更改页面编码。
设置页面编码的位置取决于是为单个 JSP 文件设置,还是为一组 JSP 文件统一设置。以下步骤将引导您完成 JSP 文件页面编码的设置。
- 执行以下某项操作,以更改 JSP 文件的页面编码:
- 为单个 JSP 文件设置页面字符编码。双击 JSP 文件,以便在源代码编辑器中将其打开。在 IDE 中创建的 JSP 文件的缺省 pageEncoding 属性如下所示:
<%@page pageEncoding="UTF-8"%>
可以在 JSP 文件中更改页面编码并将其保存。请注意,如果要保存的字符集对于 JSP 页无效,IDE 将会显示警告。
或者,也可以在 page 指令的 contentType 属性中设置页面编码。JSP 文件的缺省 contentType 属性不包含 charset 值,因为在缺省情况下,pageEncoding 属性将处理页面编码。但是,可以按如下方式添加 charset 值:
<%@page contentType="text/html;charset=UTF-8"%>
- 为一组 JSP 文件设置页面字符编码。展开“Web 页”节点,接着展开 "WEB-INF" 节点,然后双击 web.xml 文件。单击编辑器顶部的“页面”,然后单击“JSP 属性组”标题以打开“JSP 属性组”部分。使用“JSP 属性组”部分添加、删除和查看 Web 应用程序的 JSP 属性组。JSP 属性组是为 Web 应用程序中的一组 JSP 文件定义的一组属性。可在此处设置的属性之一是一组 JSP 文件的页面编码值。
|
仅当其他两个属性均不存在时,才能使用 JSP 文件的 page 指令的 contentType 属性作为页面编码。如果以上属性均未提供,则使用 ISO-8859-1 作为页面编码。如果在 JSP 属性组中为页面编码定义某个值,然后在单个 JSP 文件的 pageEncoding 指令中为其指定另一个不同的值,则会出现转换时错误。 |
为使用 JSP 文档语法的文件设置页面字符编码:
对于 JSP 文档(XML 语法),请按如下方式设置页面编码:
- 创建 JSP 文件,该文件使用 XML 语法。右键单击该 JSP 文档,然后选择“属性”。请注意,“编码”属性设置为 UTF-8。这是 JSP 文档的页面编码。不能在“属性”表单中更改页面编码。对于 JSP 文档,只能在一个位置更改页面字符编码:
- 位于文件开头的 XML 声明的 encoding 属性。XML 声明也称为 XML prolog。
|
也可以在单个 JSP 文档的 page 指令或在 JSP 属性组中描述 JSP 文档的页面编码,前提是在该处描述的值与从 XML prolog 派生的值匹配。如果在 XML prolog 指定的编码与在 JSP 文档或 JSP 属性组的声明中指定的编码不同,则会出现转换时错误。如果 XML prolog 未指定编码,则会派生 UTF-8 编码。 |
- 双击 JSP 文件,以便在源代码编辑器中将其打开。在 IDE 中创建的 JSP 文档的缺省 XML 声明包含一个编码属性(如下所示):
<?xml version="1.0" encoding="UTF-8"?>
可以更改 XML 声明中的编码并保存 JSP 文档。
- 另请参见
|
|
法律声明