点击这里给我发消息 点击这里给我发消息

jsp到java文件过程的编码与解码

添加时间:2013-12-6
    相关阅读: 页面

 我们在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服务器最终返回的页面显示为乱码。

 

咨询热线:020-85648757 85648755 85648616 0755-27912581 客服:020-85648756 0755-27912581 业务传真:020-32579052
广州市网景网络科技有限公司 Copyright◎2003-2008 Veelink.com. All Rights Reserved.
广州商务地址:广东省广州市黄埔大道中203号(海景园区)海景花园C栋501室
= 深圳商务地址:深圳市宝源路华丰宝源大厦606
研发中心:广东广州市天河软件园海景园区 粤ICP备05103322号 工商注册