javaWeb传递数据到服务器乱码
来源:互联网 发布:北京企业全网营销优化 编辑:程序博客网 时间:2024/06/07 06:09
1.jsp页面出现乱码
1.1 编码格式为jsp文件的存储格式<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
1.2 编码要为你所需要的解码格式
<%@ page contentType="text/html;charset=UTF-8"%>
1.3 控制浏览器的解码方式
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
2.数据库存储出现乱码
前提是前端和服务器端编码格式没错的情况下。配置jdbc的url时:在jdbc:mysql://127.0.0.1/activit后添加?useUnicode=true&characterEncoding=utf-8
可防止数据库存储数据不会出现乱码。
3.服务器端出现乱码
3.1 前台传递数据到服务器端出现乱码
form表单提交数据类别分为post和get,页面Get或者Post提交form表单数据时,会对表单中的中文进行编码,而编码方式是由服务器页面响应Header中的“Content-Type: text/html; charset=gb2312”确定的。
不管是get或者post提交,会默认采用GB2312编码。
当需要跳转页面时,post可以设置请求的编码格式: <%request.setCharacterEncoding("UTF-8"); %>
还有一种方法就是通过过滤器来设置编码格式,你需要在web.xml中配置过滤器,还要写一个编码过滤器的java类
但是get需要将传递的参数给传换成utf-8,这里参数为username
<%String str = new String(request.getParameter("username").getBytes("ISO-8859-1"),"utf-8"); %>
Username:<%=str %>
3.2 服务器端传递数据到前端出现乱码
回显数据时,你要将数据的格式给确定,还要设置响应数据的编码格式:
response.setContentType("application/json;charset=utf-8");
4. JQuery中的AJax提交
1)POST请求:参数放到data中,无需对参数值编码,JQuery在构造HTTP请求时,会调用js的函数encodeURIComponent()对data中的键值对分别进行utf-8编码,
服务器用utf-8解码。url中对应的就是url地址,不能含有参数。即使服务器Globalization结点配置的GB2312解码,
Request.Form["xxx"]也会用utf-8解码,因为AJax的post请求中在HTTP头添加了代码“Content-Type: text/html; charset=utf8”,
告诉服务器用utf-8解码,达到编码和解码一致的目的。这点可能和我们平时想的不一样,整站配置为GB2312编码的站点,竟然AJax的post请求都是用的utf-8编码!
2)GET请求:参数放在Url中,并按照和服务器一致的编码方式编码,如服务器配置的Globalization结点为UTF-8,则将参数值用UTF-8编码,可以调用函数 encodeURIComponent();
如果服务器配置为GB2312,则将参数用GB2312编码,可以调用escape()。Get和Post请求的一大差别是,GET请求不会改变请求的Header,
Request.QueyString["xxx"]解码用的是Globalization指定的编码。
0 0
- javaWeb传递数据到服务器乱码
- JSP传递数据到服务器乱码的问题
- jquery的$('#theForm').serialize()获取表单数据,ajax传递到服务器中文乱码。
- javaweb工程部署到服务器上出现乱码解决方案
- AL11 传递数据到SAP服务器
- 通过GET方式传递 数据到服务器
- window.open传递到服务器之后乱码问题的解决方法
- Android 解决中文参数传递到服务器乱码问题
- Android传递数据到web乱码解决 技巧
- 后台传递数据到前台 ajax 乱码问题
- jsp数据传递到后台为中文乱码的解决方法
- Android通过POST方式传递数据到服务器简单demo
- Javaweb 文件上传到服务器
- JavaWeb如何将后台数据传递到前台页面HttpServletResponse和HttpServletRequest
- JavaWeb如何将后台数据传递到前台页面HttpServletResponse和HttpServletRequest
- JavaWeb学习总结(七)---解决JavaWeb中画面数据保存到数据库之后的中文乱码问题
- 关于数据上传到php服务器乱码的问题
- 解决javaWEB中前台传数据到后台中文乱码问题的3种方法
- 【Consul】Consul实践指导-DNS接口
- 仿微信视频下载进度自定义View
- GPIO的工作原理
- 学习ECMA6 let命令 \闭包和setTimeout\ECMA6的闭包变化
- PDF编辑器:Adobe Acrobat XI Pro(附破解补丁)
- javaWeb传递数据到服务器乱码
- ubuntu kill background running process
- 深入理解JVM(一)——JVM内存模型
- svn服务安装与配置
- dubbo性能调忧
- java总结篇—多线程
- 探讨微博时间流的实现
- 深入理解JVM(二)——揭开HotSpot对象创建的奥秘
- 【《代码整洁之道》精读与演绎】之二 高质量代码的命名法则