提交中文数据乱码问题---web.xml

前端时间,做了个纯springmvc框架的一个后台系统,遇到了不少问题。特别是编码问题,让我纠结了很久。每次ajax传入数据的时候需要将form中的数据先进行编码

encodeURI(AA);

利用ajax传入后controll层

接受后需再转码

java.net.URLDecoder.decode(param, "UTF-8");

才能将中文字符写到数据库里。

这样form中有中文的地方都需要这样做一下,突然觉得好麻烦。。。。。可是我之前没记得传个数据这么麻烦啊。就在网上找啊找。

终于找到了编码过滤器。是在web.xm里进行配置。它的功能是:

Filter 过滤器 ,通过Filter技术,你可以在用户访问某个目标资源之前,对访问的请求进行拦截。在Filter中做一些你自己的业务处理。encodingFilter  是一个对编码进行统一处理的过滤,对请求和响应设置 你预先在xml配置的固定编码。   

一切就是如此神奇。上码。。。。。。。。。。。。。。。

如下:

<!-- 字符编码 --><filter>      <filter-name>encodingFilter</filter-name>      <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>      <init-param>          <param-name>encoding</param-name>          <param-value>UTF-8</param-value>  </init-param>      <init-param>      <param-name>forceEncoding</param-name>      <param-value>true</param-value>    </init-param>  </filter><filter-mapping>      <filter-name>encodingFilter</filter-name>      <url-pattern>/*</url-pattern>  </filter-mapping> 

<filter>   <filter-name>sysFilter</filter-name>   <filter-class>com.haihui.platform.filter.SysFilter</filter-class></filter><filter-mapping>   <filter-name>sysFilter</filter-name>   <url-pattern>/*</url-pattern></filter-mapping>
时间: 2024-11-05 04:52:02

提交中文数据乱码问题---web.xml的相关文章

提交中文数据乱码问题总结

提交中文数据乱码问题总结 1.如果提交方式为post,想不乱码,只需要在服务器端设置request对象的编码即可,客户端以哪种编码提交的,服务器端的request对象就以对应的编码接收,比如客户端是以UTF-8编码提交的,那么服务器端request对象就以UTF-8编码接收(request.setCharacterEncoding("UTF-8")) 2.如果提交方式为get,设置request对象的编码是无效的,request对象还是以默认的ISO8859-1编码接收数据,因此要想不

WEB应用常见中文数据乱码问题总结

在实际工作中,会遇到很多中文数据的乱码的问题,之所以会产生乱码,就是因为服务器和客户端沟通的编码不一致造成的,因此解决的办法是:在客户端和服务器之间设置一个统一的编码,之后就按照此编码进行数据的传输和接收. 1.以POST方式提交表单中文参数的乱码问题 客户端是以UTF-8字符编码将表单数据传输到服务器端,因此服务器也需要设置以UTF-8字符编码进行接收,服务器可以直接使用从ServletRequest接口继承而来的"setCharacterEncoding(charset)"方法进行

解决表单GET提交后台数据乱码问题

?在页面上提交数据到服务器有两种方式"GET"和"POST",当使用"GET"时,传输的数据是直接拼接在URL后面的.当数据中含有对HTML来说不安全的字符例如中文时,就会被编码,一般采用的是UTF-8编码.这时URL已经被转义成相对安全的字符串.此时再经过ios-8859-1的编码方式转换成二进制的形式跟随请求头一起发送到服务器端. ?到达服务器端时,服务器也对数据进行两次解码,服务器先把数据经过ios-8859-1解码,然后根据服务器默认的编

笨鸟先飞之Java--MySql中文数据乱码为哪般???

从开始敲drp到现在的hibernate,中文数据乱码无时无刻不"陪伴"在我的身边: 图一:在drp的分销商模块,每次修改区域虽然返回修改成功,但是每次读取到的中文数据都是"???"的字符串,但数字和字母的数据却不受影响. 图二:不管是drp还是hibernate项目,通过执行sql或者hql语句插入中文数据的,都会呈现图中的景象,甚是无语...... 但被它困扰了这么久,我也算"久病成医",今天就一起来给Java项目医治一下中文数据乱码的这个大

解决tomcat提交的数据乱码的问题

有时,开发过程中会遇到前端传入"中文"并返回时,会出现乱码!主要是因为前端通过tomcat7提交的数据就出现了乱码的问题,也就说根源在于tomcat7. 有2中方案解决该问题: (1)使用tomcat8,代替tomcat7 (2)可以修改tomcat7的server.xml中配置:

一次post提交中文造成乱码问题的分析

前提条件 在解决问题之前,web模块中配置了自定义的HttpEncodingFilter和GetHttpServletRequestWrapper,期待能够解决所有服务器上的中文乱码问题,很遗憾,让大家失望了.最后给出web.xml中过滤器和两个类的明细. 在某个功能中,form表单通过post提交,表单中大部分参数通过struts1的form.vo(包含中文)封装,另外两个参数(包含中文)通过表单域直接提交,格式大概就是这样子了: <form action="site.do"

关于hibernate插入mysql数据库中文数据乱码处理

这几天在学习hibernate,在程序中将利用hibernate将数据插入的mysql数据库的时候,发现出现了中文乱码,在网上搜索了好长时间,大概的解决方法都是修改my.ini的配置文件,修改为gbk,但是插入数据还是出现乱码的情况.不过最后还是解决了.下面就说一下解决的方法. 1.找到MySql Server Instance onfiguration Wizard管理器,重新配置mysql.如图.前面的配置可以一路下一步,到了图中这一步要修改语言为gbk. 2.要删除之前建立的数据库,重新利

从内存中写入mysql中文数据乱码解决

一. 问题 数据库编码:utf8 mysql> create database dbnameDEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci; 表编码:utf8 drop table if exists `test`; create table `test` ( `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'ID', `name` varchar(50) default '', `create

如何解决MSSQL中文数据乱码问题

今天遇到了在数据库中直接写SQL语句,语句中包含中文,但是数据库的表里是包含"?" 的乱码. 我程序代码中,调试时得到的SQL不是乱码,在控制台中也不是乱码.但是在数据库中却出现了乱码. 当用MSSQL控制台去插入或更改中文数据时,中文字符可能会被显示成问号(??),以下提供2种解决办法: 1.在SQL里加上'N'强制转换编码   a.把所有字符字段都改成无符号类型,如:nchar,ntext,nvarchar    b.用查询分析器进行数据管理,在中文数据前加N,强制转换编码,如:i