博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JSP中文乱码总结
阅读量:4071 次
发布时间:2019-05-25

本文共 948 字,大约阅读时间需要 3 分钟。

  1. JSP页面中文乱码问题:

    在jsp页面中输出中文时乱码,是因为字符编码不正确,jsp页面中需要两个在两个地方设置:

    *<% @ page language=”java” import=”java.util.” pageEncoding=”utf-8”%>
    <% @ page contentType=”text/html”;charset=”utf-8”%>**

pageEncoding:JSP本地保存的字符编码格式。

contentType的charset:服务器发送网页给客服端所使用的字符编码。

从第一次访问JSP页面开始到页面发送到客服端经过三次编码转换:

(1)根据pageEncoding的设定字符编码读取Servlet,结果生成Servlet

的编码是统一的utf-8,如果设定错了,就会出现中文乱码。
(2)由JAVAC编译指令将java源码编译成java字节码,不论jsp设定的是什么编码方案,经过这个阶段后的结果都是按utf-8编码的。JAVAC用utf-8编码读取java源码编译成utf-8的字节码,这是jvm对常数字符串在二进制码内表达的规范。
(3)Tomcat载入和执行字节码,根据contentType的charset设定的编码方案向客服端浏览器输出结果。

2.表单提交乱码问题:

在jsp页面中提交表单是(用post或者get方法),使用request.getParameter方法获取表单控件值时出现乱码。出现这种原因是因为在tomcat中处理参数时,采用默认字符集ISO-8859-1,而该字符集不包含中文,所以出现乱码。在tomcat中由于对post方法和get方法提交数据处理方式不同,因此解决方案也不相同。

(1)get方法提交表单:

在tomcat的home主目录中对conf目录下的servlet.xml中进行配置。将Connector组件部分添加一个属性:URLEncoding=”GBK”。修改后重启服务器。
(2)post方法提交表单:
通过编写过滤器的方法解决,过滤器在用户提交的数据被处理之前被调用,可以在这里改变请求参数的编码方式。只要在过滤器中设置一个命令:
request.setCharacterEncoding(“gbk”)。

转载地址:http://lykni.baihongyu.com/

你可能感兴趣的文章
《多线程服务器的适用场合》例释与答疑
查看>>
Netty框架
查看>>
Socket经验记录
查看>>
对RTMP视频流进行BitmapData.draw()出错的解决办法
查看>>
多年前写的一个ASP.NET网站管理系统,到现在有些公司在用
查看>>
FMS 客户端带宽计算、带宽限制
查看>>
在线视频聊天(客服)系统开发那点事儿
查看>>
语法解析器!
查看>>
SecurityError Error 2148 SWF 不能访问本地资源
查看>>
Flex4的可视化显示对象
查看>>
Flex:自定义滚动条样式/隐藏上下箭头
查看>>
烈焰SWF解密
查看>>
Qt 静态编译后的exe太大, 可以这样压缩.
查看>>
WCF添加服务失败一则
查看>>
ASP.NET MVC
查看>>
在公司内网上创建自己的 OSM.Planet 街道级别地图服务器及其客户端程序
查看>>
微软云Azure Website 远程调试
查看>>
经典DOS游戏皇帝攻略(曾经的回忆)
查看>>
风后握奇经
查看>>
compass电子罗盘
查看>>