jsp到java文件过程的编码与解码
2012-11-19 13:10
435 查看
以下内容都是个人的理解,如有不对的地方,还望大家指正:
我们在eclipse中编辑jsp页面时首先会确认jsp文件本身的编码,比如有utf-8,gkb等等。一般情况下,如果在jsp的开头定义了pageEncoding的话,那么文件的编码就是pageEncoding了。
一般jsp文件的编码格式都是和pageEncoding一样的。pageEncoding决定着在jsp编译器进行编译时所使用的编码格式。
1.pageEncoding和jsp文件编码都是GBK
拿“中”字来看一下,编辑好jsp文件后,用HexEdit查卡器可以查看到文件的十六进制编码,可以看到“中”采用GBK解码的十六进制为“D6D0”,在后台进行解码时,jsp编译器会根据pageEncoding解码,所以得到“D6D0”对应的字符“中”;在这时生成java文件时,java文件是utf-8编码,所以将“中”按照utf-8字符集的解码方式生成java文件,“中”在utf-8中的十六进制编码为“E4B8AD”,同样可以通过HexEdit来查看。
2.pageEncoding=“GBK”,文件编码为utf-8
也拿“中”字来看。用HexEdit打开jsp文件,文件中的“中”字采用utf-8编码,为“E4B8AD”。
这是jsp编译器还是按照pageEncoding来进行解码,在GBK字符集中,没有对应“E4B8AD”的字符,所以出现乱码字符(假如乱码字符为?)。这是再按照utf-8生成java文件时,乱码字符对应的机内码转换仍是错误的,所以jsp生成的java文件中就会出现乱码。java文件乱码,javac按照Utf-8》utf-8转换时,仍然是乱码。所以web服务器最终返回的页面显示为乱码。
以上都是个人理解,实验的结果是这样的,或许不正确,望指正!
我们在eclipse中编辑jsp页面时首先会确认jsp文件本身的编码,比如有utf-8,gkb等等。一般情况下,如果在jsp的开头定义了pageEncoding的话,那么文件的编码就是pageEncoding了。
一般jsp文件的编码格式都是和pageEncoding一样的。pageEncoding决定着在jsp编译器进行编译时所使用的编码格式。
1.pageEncoding和jsp文件编码都是GBK
拿“中”字来看一下,编辑好jsp文件后,用HexEdit查卡器可以查看到文件的十六进制编码,可以看到“中”采用GBK解码的十六进制为“D6D0”,在后台进行解码时,jsp编译器会根据pageEncoding解码,所以得到“D6D0”对应的字符“中”;在这时生成java文件时,java文件是utf-8编码,所以将“中”按照utf-8字符集的解码方式生成java文件,“中”在utf-8中的十六进制编码为“E4B8AD”,同样可以通过HexEdit来查看。
2.pageEncoding=“GBK”,文件编码为utf-8
也拿“中”字来看。用HexEdit打开jsp文件,文件中的“中”字采用utf-8编码,为“E4B8AD”。
这是jsp编译器还是按照pageEncoding来进行解码,在GBK字符集中,没有对应“E4B8AD”的字符,所以出现乱码字符(假如乱码字符为?)。这是再按照utf-8生成java文件时,乱码字符对应的机内码转换仍是错误的,所以jsp生成的java文件中就会出现乱码。java文件乱码,javac按照Utf-8》utf-8转换时,仍然是乱码。所以web服务器最终返回的页面显示为乱码。
以上都是个人理解,实验的结果是这样的,或许不正确,望指正!
相关文章推荐
- java利用Base64编码和解码图片文件
- java使用Base64编码和解码的图像文件
- java中文乱码解决之道(七)-----JSP页面编码过程
- 已经导入好的java项目更改jsp文件的编码
- JAVA开发工具和tomcat互相映射以及JSP文件运行过程和生命周期
- Java编码字符串,解码字符串,取得文件大小,读文件内容
- myeclipse 如何统一修改全部的java、jsp、js 等文件的编码 例如修改为utf-8
- java后台与jsp前台特殊字符处理(字符串编码与解码)
- (java)利用BASE64编码和解码图片文件
- MyEclipse设置JSP页面默认编码方式以及设置在Java文件中作者、日期等说明
- java中文乱码解决之道(七)-----JSP页面编码过程
- 设置JSP页面默认编码方式以及设置在Java文件中作者、日期等说明
- HM-16.0的解码过程:将编码后的*.bin文件解码
- MyEclipse设置JSP页面默认编码方式以及设置在Java文件中作者、日期等说明
- java中文乱码解决之道(七)-----JSP页面编码过程
- java中文乱码解决之道(七)—–JSP页面编码过程
- java中文乱码解决之道(七)—–JSP页面编码过程
- myeclipse 如何统一修改全部的java、jsp、js 等文件的编码 例如修改为utf-8
- java中文乱码解决之道(七)-----JSP页面编码过程
- 设置JSP页面默认编码方式以及设置在Java文件中作者、日期等说明