A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© hacket 高级黑马   /  2013-3-13 12:26  /  1266 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 hacket 于 2013-3-13 15:04 编辑

求指点,都代表些什么意思?

charset都代表啥意思.gif (12.34 KB, 下载次数: 13)

charset都代表啥意思.gif

评分

参与人数 1技术分 +1 收起 理由
陈丽莉 + 1

查看全部评分

5 个回复

倒序浏览
1、是请求服务器以后返回过来的内容的字符编码,在服务端起作用,是告诉应用服务器采用何种编码输出
2、指明了页面本身的编码格式,跟页面显示的编码没有关系
3、后一个是在客户端起作用,是告诉浏览器是采用何种编码方式显示HTML页面

评分

参与人数 1技术分 +1 收起 理由
陈丽莉 + 1

查看全部评分

回复 使用道具 举报
pageEncoding是jsp文件本身的编码
contentType的charset是指服务器发送给客户端时的内容编码

JSP要经过两次的“编码”,第一阶段会用pageEncoding,第二阶段会用utf-8至utf-8,第三阶段就是由Tomcat出来的网页, 用的是contentType。

第一阶段是jsp编译成.java,它会根据pageEncoding的设定读取jsp,结果是由指定的编码方案翻译成统一的UTF-8 JAVA源码(即.java),如果pageEncoding设定错了,或没有设定,出来的就是中文乱码。
第二阶段是由JAVAC的JAVA源码至java byteCode的编译,不论JSP编写时候用的是什么编码方案,经过这个阶段的结果全部是UTF-8的encoding的java源码。


3.这个是html本身的:可以不要,若要就必须和上面的一致,否则乱码。

评分

参与人数 1技术分 +1 收起 理由
陈丽莉 + 1

查看全部评分

回复 使用道具 举报
1.设定页面所使用的字符集。contentType="text/html;charset=gb18030"的作用是指定对服务器响应进行重新编码的编码。2.pageEncoding指的是jsp本身页面文件的编码。在正常的非jsp开发中,对于一个java类,在编译时默认是不需要指定编译时的字符集的,它默认采用本地操作系统字符集,如GBK,如果你将一个java类改成UTF-8格式的,但在javac时不指定字符集,你会发现运行这个java类时,出来的东西就会有乱码。对于JSP相当于多了一个过程,将jsp转成java的过程,而这个过程是需要人工指定字符集的,而这个字符集就是根据pageEncoding(默认为iso-8859-1)来的,如果a.jsp是UTF-8格式的同时指定pageEncoding为iso-8859-1,那么在生成的java文件中就会有乱码.(照这个理解就算是设成GBK也应该是乱码)

3.content="text/html; charset=gb18030"   是指页面类型和字符编码

评分

参与人数 1技术分 +1 收起 理由
陈丽莉 + 1

查看全部评分

回复 使用道具 举报
有问题的话继续追问,否则请将帖子分类改成【已解决】~
回复 使用道具 举报
1为传递信息时的的编码,2为页面或文件自身编码,<head>表头的标签<meta>为浏览器提供信息,包括页面显示所需的字符集和字符编码等信息,3:属性Content-Type的内容Content常见为:test/html、test/xml
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马