从HTTP报文上分析:get 传输机制与 post 有本质不同
get 传输的内容封装在消息头,而且只能传输 ISO-8859-1码的内容,如果是汉字则出现乱码现象 (HTTP协议规范参数会转为ISO-8859-1)
post 传输的内容封装在消息体,支持包括 ISO-8859-1码在内的多种编码数据
GET方式客户端发送流程:编码:
发送URL前的编码,IE的GBK或火狐的UTF-8=》浏览器给强制ISO-8859-1编码,【等价于new String("中".getBytes(),"ISO-8859-1")】
GET方式服务端接收流程:解码:
服务器server.xml中URIEncoding指定编码,默认ISO-8859-1(即request.getParameter()解码)=》应用程序最后解码
GET方式解决方案:
方式一、
前台:一定要用encodeURI,(否则各个浏览器会使用不同的默认编码),后台:new String((req.getParameter("a")).getBytes("ISO-8859-1"),"UTF-8")
但是:如果TOMCAT的server.xml中使用URIEncoding="GBK",则这种方法就不行了,
针对这种情况应该new String(new String(req.getParameter("a1").getBytes("GBK"),"ISO-8859-1").getBytes("ISO-8859-1"),"UTF-8"),所以这个方式不可行
方式二、
前台:encodeURI(encodeURI()),(连续再次),后台:URLDecoder.decode(req.getParameter("a"),"UTF-8")
过滤器中为何对GET提交方式不起作用?
因为ServletRequest.setCharacterEncoding方法未对HTTP报文头的内容进行解码,因此,使用HTTP的GET方法提交的数据将不能正确的解码。
POST方式
用AJAX POST数据,是不能指定编码格式的,只能用utf-8,所以第一建议是前后台都统一用utf-8.
javascript是使用UTF-8国际编码,javascript沿用java的字符处理方式,内部是使用unicode来处理所有字符的
分享到:
相关推荐
### UTF8乱码终结方案 #### 一、问题概述 在进行Web开发或者数据库操作时,经常遇到的一个问题就是字符编码的问题,特别是当涉及到多语言环境时,字符集的不一致很容易导致乱码现象的发生。本文将详细介绍一种适用...
### JSP乱码终结者——全面解析与解决方案 #### 一、引言 在Web开发过程中,特别是使用Java Server Pages (JSP)进行网站构建时,经常会遇到字符编码的问题,导致页面显示出现乱码现象。这不仅影响用户体验,还可能...
研究好多天了,也试过好多办法了,总结出目前发现最好的方法: 先说一下基本的东西: <%@ codepage=65001%>UTF-8 <%@ codepage=936%>简体中文 <... 就像我的博客一样,整合的时候都会出这个问题
通常,游戏的配置文件会采用特定的编码(如UTF-8或GBK),编辑器应能正确识别并保存这些文件,以避免出现乱码问题。同时,为了不影响游戏的正常运行,用户在修改配置后需要按照正确的步骤保存并导入到游戏中。 关于...
GP460插件是CCcam2.2.0中的一个重要组成部分,它的"终结网刷版"意味着这是一次对原有插件的重大升级,旨在解决网络连接问题,提高网络稳定性和响应速度,同时减少因网络问题导致的信号丢失。GP460插件通常包含了增强...
文档中的内容似乎包含了大量的文字,但大部分都是由无意义的汉字组成的序列,这些字符看起来像是乱码或者是加密过的文本,并不包含可以直接解析为IT知识点的信息。因此,根据给出的部分内容,无法提供相关的IT知识点...
2 增加了对国外服务器的支持,不再出现乱码。 3 显示时间使用统一的格式,不再受服务器影响。 4 修改了原来的登录和退出弹出新窗口的问题。 5 增加新帖审核功能,开启后所有内容不审核不能显示,吧主和管理员可以...
在POST过程中,BIOS标题出现乱码或者完全不显示。 **解决方案**: 1. **检查RAID控制器缓存**:可能是RAID控制器缓存出现问题,尝试清除缓存或更换控制器。 #### 七、无法快闪刷新或更新固件 **问题描述**: 无法...
尽管提供的部分内容似乎是一段乱码,但我们可以基于标题和描述来深入探讨计算理论的相关知识点。 ### 计算理论概览 计算理论是计算机科学的一个分支,主要研究算法、自动机、计算复杂性以及形式语言等核心概念。它...
酷抓6.8.193.0614 终结版 ----------------------------------------- +增加RTMP/RTMPE流录制功能 *全新的RTMP解析引擎 ----------------------------------------- +Add function of recording RTMP/RTMPE stream *...
将任意指定的文件,以二进制的方式,指定区间进行切割。 可以将HTTP的请求图片、视频导出 可以去除文本文件BOM头 可以提取文件中间的乱码字节
在实际运行和调试中,可能会遇到如空串处理(这里使用'&'替换ε)和文件输入导致的乱码问题,需要通过调整程序来解决。 **六、源代码** 给出的代码片段展示了部分程序结构,包括全局变量、关键字数组、以及处理...
例如,可能出现无法识别的字符、错别字、乱码、字符丢失等问题。这些问题会严重影响文本内容的准确性和可读性。 为确保知识点的准确和完整性,最好的做法是提供源文件的精确内容。OCR技术虽然能提供快速的转换服务...
由于提供的文件内容是重复数字和少量的乱码文字,无法从中提取出关于教师资格证考试-教学法笔试的复习要点。这些内容并非有意义的文本信息,而是显然受到了OCR扫描错误的影响,导致文件中充满了重复的数字序列,以及...
由于这个压缩包在Linux环境下打包,可能会存在文件名编码问题,因此在Windows系统上使用RAR解压时可能会出现乱码。为避免这种情况,建议使用支持更多编码格式的解压缩工具,如7-Zip,或者在Linux环境下进行解压操作...
- **解决乱码问题**: - 设置响应头类型:`response.setContentType("text/html;charset=UTF-8")`。 - 设置请求字符编码:`request.setCharacterEncoding("UTF-8")`。 #### 九、发送非HTML文档 - **设置Content-...
3721网络助手 瑞星恶意网页病毒清除 IE 弹出广告终结者 FixIE- 专门修复IE被黑工具 RegVac v1.07 - 注册表吸尘器 神奇注册表 v1.81 注册版 超级兔子注册表优化 V4.83注册版 超级兔子IE保护器 ...