jsp表单提交接收到数据乱码
来源:互联网 发布:mac搜狗 工具箱 编辑:程序博客网 时间:2024/03/29 15:45
自从做第一个项目开始就被各种乱码问题困扰,我只想说...哎..什么都不说了!来说说这次项目遇到的乱码问题吧!
曾经大二的时候用JSP做过一次课题设计,但是还是第一次做项目用到JSP(PS:俏俏说一下,这是做的第二个项目O(∩_∩)O哈哈~)。做一个全站的检索功能,用form表单提交数据。表单代码:
<span style="font-size:14px;"><form role="form" method="get" action="siteSearch.jsp" enctype="multipart/form-data"><div class="input-group col-xs-6"><input name="searchWord" id="searchWord" type="text"value="${searchWord}" class="form-control"> <spanclass="input-group-btn"><button class="btn btn-default" type="submit">搜索</button></span></div></form></span>一定有人要问这里为什么用get,额.....这个是为了和页面另一个模块传值方式统一。这里,传入后台的数据乱码!、
想到以前做课题设计的时候的解决办法:在页面开始的地方加上request.setCharacterEncoding("UTF-8"),把提交内容的字符集设为UTF-8。这样的话,接受此参数的页面就不必在转码了。直接使用String str = request.getParameter("searchWord"),即可得到汉字参数。但是接收到的数据依旧乱码,这种方式只适用于POST方式提交的数据。
下面开始说以get方式提交数据,乱码怎么解决。先说说导致乱码的原因吧!这个乱码的原因是tomcat的内部编码格式iso8859-1导致,Post提交数据乱码也是这个原因。Tomcat会以get的缺省编码方式iso8859-1对汉字进行编码,编码后追加到url,导致接受页面得到的参数为乱码。知道原因也就知道怎么解决这个问题了。接受参数时进行编码转换String str = new String(request.getParameter("searchWord").getBytes("ISO-8859-1"),"utf-8"),这种方式同样适用于POST提交方式。但是,这样每接受一个页面就得转一次码,貌似好麻烦,反正我是这么干的,不是我不怕麻烦,而是就那么一个页面以form表单提交值的。
当然,还有其它方式解决这个问题。Get以url参数的形式提交的,这就是为什么我表单传值用的get不是POST,页面中还有数据是以URL提交的。
其实在数据进入url之前已经进行了iso8859-1的编码处理。我们在火狐以及google浏览器中能看到中文参数是因为他们对编码进行了处理的,下面看看IE中url传递的参数可以看出在之间已经对数据进行了转码。所以,要想改变这个编码则需要在server.xml的Connector节点增加useBodyEncodingForURI="true" URIEncoding=”UTF-8”属性配置,即可控制tomcat对get方式的汉字编码方式。具体配置如下:
<Connector port="8080" acceptCount="100"
debug="0" connectionTimeout="20000" useBodyEncodingForURI="true"
URIEncoding=”UTF-8”/>
第一次写博客,写的不好,大神看到还望指点!
- jsp表单提交接收到数据乱码
- jsp 提交系列化表单到后台servlet接收中文乱码
- 【JSP页面表单提交,controller接收为乱码,以及保存到数据库时为乱码】解决方法
- JSP通过表单提交到后台乱码
- Jsp表单提交数据乱码问题
- jsp提交表单乱码
- jsp表单提交到数据库的数据(中文字符)读取后就变成了乱码
- Action如何接收jsp页面form表单提交的数据?
- Action如何接收jsp页面form表单提交的数据?
- form表单提交后无法接收到数据
- AJax提交表单数据到后台springmvc接收
- jsp中form表单提交到serlvet中文乱码问题
- jsp表单提交到strust中中文乱码解决
- jsp的表单数据提交,中文出现乱码的处理
- jsp表单提交乱码问题
- JSP表单提交中文乱码
- jsp提交表单乱码问题
- 表单中文数据提交到MySQL数据库乱码问题
- J2EE规范标准
- 关于人工智能的一些思考~
- [leetcode] Generate Parentheses
- RC5_C语言代码
- Android学习之ListView控件
- jsp表单提交接收到数据乱码
- android学习十三(android的通知使用)
- jsp 中的会话跟踪技术
- FieldType 元素(字段类型)
- POJ 1523 割点
- NESASM教程——第八天——比较
- CUDA 编程 之 invalid device function
- FieldTypes 元素(字段类型)
- List<?>不能直接被类型转换