黑马程序员技术交流社区
标题:
一个小问题
[打印本页]
作者:
hacket
时间:
2013-3-13 12:26
标题:
一个小问题
本帖最后由 hacket 于 2013-3-13 15:04 编辑
求指点,都代表些什么意思?
charset都代表啥意思.gif
(12.34 KB, 下载次数: 13)
下载附件
2013-3-13 12:25 上传
作者:
刘海浩
时间:
2013-3-13 12:52
1、是请求服务器以后返回过来的内容的字符编码,在服务端起作用,是告诉应用服务器采用何种编码输出
2、指明了页面本身的编码格式,跟页面显示的编码没有关系
3、后一个是在客户端起作用,是告诉浏览器是采用何种编码方式显示HTML页面
作者:
李易烜
时间:
2013-3-13 12:52
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本身的:可以不要,若要就必须和上面的一致,否则乱码。
作者:
wanggang
时间:
2013-3-13 12:53
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" 是指页面类型和字符编码
作者:
陈丽莉
时间:
2013-3-13 13:09
有问题的话继续追问,否则请将帖子分类改成【已解决】~
作者:
whs_nk
时间:
2013-3-13 13:10
1为传递信息时的的编码,2为页面或文件自身编码,<head>表头的标签<meta>为浏览器提供信息,包括页面显示所需的字符集和字符编码等信息,3:属性Content-Type的内容Content常见为:test/html、test/xml
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2