前台与服务器数据交互乱码问题终极解决

开发中遇到乱码问题真是一个烦。今天特来总结一下

1.post方式提交数据中文乱码处理

  post方式提交的数据乱码问题较容易解决,一般将服务器端的编码改为和前台页面一样就行了。比如页面jsp是utf-8,那么后台就

  request.setCharacterEncoding("UTF-8");

2.get方式提交和link链接提交

  这两种方式都是直接把参数拼在url后面传到服务器的,他们走URI

  解决方法:

(1)修改tomcat配置文件server.xml,在Connector中修改URIEncoding属性,该属性默认是“ISO8859-1”

1  <Connector port="8080" protocol="HTTP/1.1"
2                connectionTimeout="20000"
3                redirectPort="8443" URIEncoding=‘utf-8‘/>

  (2)不改tomcat配置,将传回来的参数重新转换编码

   String data = request.getParameter("paramName");

   byte[] source = data.getBytes("ISO8859-1");

   data = new String(source, "UTF-8");

  这样得到的data就不是乱码了。当然,如果tomcat中URIEncoding修改成了别的编码,也要把ISO8859-1换成对应的编码

时间: 2024-11-10 04:31:50

前台与服务器数据交互乱码问题终极解决的相关文章

windows和linux下读取文件乱码的终极解决办法!

乱码是个很恶心的问题. windows和linux读取txt文件,一旦读取了,编码发生改变,就无法再还原了,只有重启项目. 网上有很多方法都是读取文件头,方法很好,但是亲测都不能用(右移8位判断0xff的,取3个字节的-1,-2的,大体上网上最多就这两种). 后来偶然发现一个方法,CharsetPrinter. 这个方法需要引入jar包,非常好用. public static String guessEncoding(String filename) { try { CharsetPrinter

详解Linux中文乱码问题终极解决方法

详解Linux中文乱码问题终极解决方法 方法一: 修改/root/.bash_profile文件,增加export LANG=zh_CN.GB18030 该文件在用户目录下,对于其他用户,也必须相应修改该文件. 使用该方法时putty能显示中文,但桌面系统是英文,而且所有的网页中文显示还是乱码 例: cd ~ vim .bash_profile 直接写入 export LANG=zh_CN.GB18030 之后重启 就ok了 方法二: 修改/etc/sysconfig/i18n文件 #LANG=

TCP移动端跟服务器数据交互

同一台笔记本下的客户端和服务端 TCPClient 客户端: //  RootViewController.h#import <UIKit/UIKit.h>#import "AsyncSocket.h"  //封装了基于tcp协议的socket编程//tcp协议是位于网络传输层的协议,规定客户端与服务端之间.或者是客户端与客户端之间数据通信的方式//每个客户端或者服务端通过ip地址+端口来标识/*客户端与服务端基于tcp协议进行数据通信 *1.客户端需要通过ip+端口连接指

【SpringMVC学习09】SpringMVC与前台的json数据交互

json数据格式在接口调用中.html页面中比较常用,json格式比较简单,解析也比较方便,所以使用很普遍.在springmvc中,也支持对json数据的解析和转换,这篇文章主要总结一下springmvc中如何和前台交互json数据. 1. 两种交互形式 springmvc和前台交互主要有两种形式,如下图所示: 可以看出,前台传过来的方式有两种,一种是传json格式的数据过来,另一种就是在url的末尾传普通的key/value串过来,针对这两种方式,在controller中会有不同的解析,但是在

SpringMVC学习(十)——SpringMVC与前台的json数据交互

json数据格式在接口调用中.html页面中比较常用,json格式比较简单,解析也比较方便,所以使用很普遍.在SpringMVC中,也支持对json数据的解析和转换,这篇文章主要总结一下在SpringMVC中如何和前台交互json数据. 两种交互形式 SpringMVC和前台交互主要有两种形式,如下图所示: 可以看出,前台传过来的方式有两种,一种是传json格式的数据过来,另一种就是在url的末尾传普通的key/value串过来,针对这两种方式,在Controller类中会有不同的解析,但是在C

Linux中文乱码问题终极解决方法

方法一: 修改/root/.bash_profile文件,增加export LANG=zh_CN.GB18030该文件在用户目录下,对于其他用户,也必须相应修改该文件. 使用该方法时putty能显示中文,但桌面系统是英文,而且所有的网页中文显示还是乱码 方法二:修改/etc/sysconfig/i18n文件 #LANG="en_US.UTF-8"#SUPPORTED="en_US.UTF-8:en_US:en"#SYSFONT="latarcyrheb-s

问题:CGI返回给前端的汉字数据是乱码(已解决)

今天,我在写CGI程序,把后台数据返回到前台页面上,出现乱码, 不好看,所以,我在Content-type:application后面加了字符集的设置(字符集和前端一样), fprintf(stdout, "Content-type:application/json;charset='GBK'\n\n"); 应该就解决问题了,但是还是不行,我就写成下面这样子 fprintf(stdout, "Content-type:application/json;charset=GBK\

web开发中前端页面是如何跟后端服务器数据交互的

本文链接:https://blog.csdn.net/kangkanglhb88008/article/details/84446173后端服务器一般是指servlet容器,用于执行java源程序常见的网页有html,htm,shtml,asp,aspx,php,jsp等格式前两个常用于静态网页,后面几个常用于动态网页.这里前端网页以比较常见的 xx.html 和 xx.jsp 网页作为介绍,其它类似 一.静态页面xx.html如何跟后台交互:先来看一个最简单的登陆界面源代码  <body> 

JSP、servlet、SQL三者之间的数据传递(前台与后台数据交互)

背景: 目前业界很流行的MVC(model-view-control)开发模式,理解为 模型是Bean, 视图是 Html/Jsp, 控制是Servlet, 关联数据库的Dao web的运行机制: 数据首先在Jsp上被展示出来,用户看到页面后触发一些事件,并可能传递数据,这些数据和请求被控制器接收到,然后开始处理(往往会需要有一些数据库的操作(查询,修改数据库数据)),当这些处理结束后,我们就需要将数据反馈到JSP上显示给用户看,完成一次完整的交互过程. 正文: 根据背景所述的顺序,我们依次介绍