复制装载,以备忘 jsp乱码解决方案( 五 )


6、 脚本代码关于url请求,接受到的参数乱码
脚本中也会进行页面转向的控制,也会涉及到附带参数,并在接受页面解析这个参数的情况 。如果这个汉字参数不进行URIEncoding=”UTF-8”所指定的编码处理,则接受页面接受到的汉字也是乱码 。脚本处理编码比较麻烦,必须有相应的编码脚本对应文件,然后调用脚本中的方法对汉字进行编码即可 。
7、 关于jsp在MyEclipse中打开的乱码问题 对于一个已经存在的项目,Jsp文件的存储格式可能是utf-8 。如果新安装的eclipse,则缺省打开使用的编码格式都是iso8859-1 。所以导致jsp里面的汉字出现乱码 。这个乱码比较容易解决,直接到eclipse3.1的偏好设置里面找到general-〉edidor,设置为您的文件打开编码为utf-8即可 。Eclipse会自动重新以新的编码格式打开 。汉字即可正常显示 。
8、 关于html页面在eclipse中打开出现乱码情况
由于大部分页面都是由Dreamweaver制作,其存储格式跟eclipse的识别有差别导致 。
一般这种情况,在eclipse中新建一个jsp,直接从dreamweaver复制页面内容粘贴到jsp即可 。
PHPCE.CN,设计手册
这个乱码问题是最简单的乱码问题 。一般新会出现 。就是页面编码不一致导致的乱码 。




中文问题




我是个好人


三个地方的编码 。
第一个地方的编码格式为jsp文件的存储格式 。Ecljpse会根据这个编码格式保存文件 。并编译jsp文件,包括里面的汉字 。
第二处编码为解码格式 。因为存为UTF-8的文件被解码为iso8859-1,这样 如有中文肯定出乱码 。也就是必须一致 。而第二处所在的这一行,可以没有 。缺省也是使用iso8859-1的编码格式 。所以如果没有这一行的话,“我是个好人”也会出现乱码 。必须一致才可以 。
第三处编码为控制浏览器的解码方式 。如果前面的解码都一致并且无误的话,这个编码格式没有关系 。有的网页出现乱码,就是因为浏览器不能确定使用哪种编码格式 。因为页面有时候会嵌入页面,导致浏览器混淆了编码格式 。出现了乱码 。PHPCE.CN,设计手册
2、表单使用Post方式提交后接收到的乱码问题
这个问题也是一个常见的问题 。这个乱码也是tomcat的内部编码格式iso8859-1在捣乱,也就是说post提交时,如果没有设置提交的编码格式,则会以iso8859-1方式进行提交,接受的jsp却以utf-8的方式接受 。导致乱码 。既然这样的原因,下面有几种解决方式,并比较 。
A、接受参数时进行编码转换
String str = new String(request.getParameter("something").getBytes("ISO-8859-1"),"utf-8") ; 这样的话,每一个参数都必须这样进行转码 。很麻烦 。但确实可以拿到汉字 。
B、在请求页面上开始处,执行请求的编码代码,request.setCharacterEncoding("UTF-8"),把提交内容的字符集设为UTF-8 。这样的话,接受此参数的页面就不必在转码了 。直接使用
String str = request.getParameter("something");即可得到汉字参数 。但每页都需要执行这句话 。这个方法也就对post提交的有效果,对于get提交和上传文件时的enctype="multipart/form-data"是无效的 。稍后下面单独对这个两个的乱码情况再进行说明 。
C、为了避免每页都要写request.setCharacterEncoding("UTF-8"),建议使用过滤器对所有jsp
进行编码处理 。这个网上有很多例子 。请大家自己查




推荐阅读