在page命令中指定字符集与meta中指定的不同

本文详细介绍了网页编码设置的多种方式,包括jsp文件头指定的contentType、jsp页面的pageEncoding、meta标签中的charset设置以及form表单的accept-charset属性。阐述了这些设置的作用及优先级,并说明了不同场景下的适用情况。
 browser显示网页的时候,首先使用response中指定的编码(jsp文件头指定的contentType最终也反映在response上),如果未指定,则会使用网页中meta项指定中的contentType。 

3.5. 几处设置 

对于web应用程序,和编码有关的设置或者函数如下。 

3.5.1. jsp编译 

    指定文件的存储编码,很明显,该设置应该置于文件的开头。例如:<%@page pageEncoding="GBK"%>。另外,对于一般class文件,可以在编译的时候指定编码。 一般class文件,是以系统默认编码保存的,所以编译不会出问题,但对于jsp文件,如果在中文windows下编辑保存,而部署在英文linux下运行/编译,则会出现问题。所以需要在jsp文件中用pageEncoding指定编码。

3.5.2. jsp输出 

     指定文件输出到browser是使用的编码,该设置也应该置于文件的开头。例如:<%@ page contentType= "text/html; charset= GBK" %>。该设置和response.setCharacterEncoding("GBK") 等效。 

3.5.3. meta设置 

    指定网页使用的编码,该设置对静态网页尤其有作用。因为静态网页无法采用jsp的设置,而且也无法执行 response.setCharacterEncoding()。例如:<META http-equiv="Content- Type" content="text/html; charset=GBK" /> 

    如果同时采用了jsp输出和meta设置两种编码指定方式,则jsp指定的优先。因为jsp指定的直接体现在response中。 

    需要注意的是,apache有一个设置可以给无编码指定的网页指定编码,该指定等同于jsp的编码指定方式,所以会覆盖静态网页中的meta指定。所以有人建议关闭该设置。 

3.5.4. form设置 

     当浏览器提交表单的时候,可以指定相应的编码。例如:<form accept-charset= "gb2312">。一般不必不使用该设置,浏览器会直接使用网页的编码。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值