URL编码以及GET和POST提交乱码解决方案

get方式时参数是作为url一部分传输的。而对于url是有规范的,汉字超出了规范的范围。

post方式不需要加编码是错误的。post时也必须传送符合服务器规范的编码。如果错误,服务器收到的内容也不会正确。 你的不加编码也能解析,只能说明你的client端恰好和服务器端编码一致。

http://blog.csdn.net/lfsf802/article/details/7232834

http://blog.csdn.net/hu_zhiting/article/details/52088245

时间: 2024-11-05 19:45:32

URL编码以及GET和POST提交乱码解决方案的相关文章

URL编码以及GET和POST提交乱码解决方案 (转)

1.  什么是URL编码. URL编码是一种浏览器用来打包表单输入的格式,浏览器从表单中获取所有的name和其对应的value,将他们以name/value编码方式作为URL的一部分或者分离的发送到服务器上. 2.  URL编码规则. 每对name/value由&分开,每对来自表单的name/value用=分开.如果用户没有输入值的那个name依旧会出现不过就是没有值. URL编码是在字符ASCII码的十六进制数的前面加上%.例如\(她的十六进制数表示为5c)的URL编码就是%5c. 3.  简

GET和POST提交乱码解决方案

写在开头: 一般说来在每个页面的开始处,都会加入: <%@ page language="java" contentType="text/html; charset=UTF-8"    pageEncoding="UTF-8"%> contentType="text/html;charset=UTF-8"的作用是指定对服务器响应进行重新编码的编码, 当我们提交表单时浏览器会根据contentType对表单的内容进行

详解JavaScript中的Url编码/解码,表单提交中网址编码

本文主要针对URI编解码的相关问题做了介绍,对Url编码中哪些字符需要编码.为什么需要编码做了详细的说明,并对比分析了Javascript 中和 编解码相关的几对函数escape / unescape,encodeURI / decodeURI和 encodeURIComponent / decodeURIComponent. 预备知识 foo://example.com:8042/over/there?name=ferret#nose \_/ \______________/ \_______

URL编码分析与乱码解决方案

一.问题的由来 URL就是网址,只要上网,就一定会用到. 一般来说,URL只能使用英文字母.阿拉伯数字和某些标点符号,不能使用其他文字和符号.比如,世界上有英文字母的网址"http://www.abc.com",但是没有希腊字母的网址"http://www.aβγ.com"(读作阿尔法-贝塔-伽玛.com).这是因为网络标准RFC 1738做了硬性规定: "...Only alphanumerics [0-9a-zA-Z], the special cha

通过Cookie来记住用户名出现乱码问题(URL编码)

在登录时,提交一个中文名的用户名到服务器并返回到客户端的Cookie中时, 这个过程会后台会报 java.lang.IllegalArgumentException (非法数据异常) -->在给前台发送Cookie之前对数据进行URL编码即可解决. -->URLEncoder.encode(username, "utf-8") 后台解决编码问题后前台就可以接受到Cookie值,这时就会接收到类似:"%E7%AB%A5%E6%97%AD%E5%B9%B3"

黑马day03 文件下载&amp;中文乱码原理以及url编码

在请求码和响应码中的数据只能是英文状态的即iso8859-1,不可能是中文的,因此,如果文件的名字是中文的需要进行url编码 //这句话是告诉浏览器以下载的方式,被发送的数据要进行url编码,对文件的名字进行url编码-->编码原理: //将美女转化为utf-8的形式然后转化为16进制,前面加% utf-8一个汉字三个字节下面的只是假设 //美 1100 1001  1110 0110   1000 0001-->%2a %3d %4e //女 1110 1011  1111 0110   1

URL编码与两次encodeURI

当使用地址栏提交查询参数时,如果不编码,非英文字符会按照操作系统的字符集进行编码提交到服务器,服务器会按照配置的字符集进行解码,所以如果两者不一致就会导致乱码. encodeURI函数采用UTF-8对URL进行编码,所以如果服务器在进行解码时使用的是其他的编码方式就会出现乱码,默认的服务器配置的解码字符集都不是UTF-8,所以大部分情况下地址栏提交中文查询参数时会产生乱码:针对这种情况,可以连续使用两次encodeURI在客户端(主要指浏览器)对非英文字符进行编码,然后在服务端使用java.ne

关于Cookie中的URL编码

今天对登录访问的安全以及web客户端存储做了一些大致的理解,在学习cookie的使用时发现其名称以及存储的字符串值是必须经过URL编码的. 然而网上的一些示例都没有做这一个动作,所以将参考阮一峰老师的关于URL编码博文做些解决分享: 一.问题的由来 URL就是网址,只要上网,就一定会用到. 一般来说,URL只能使用英文字母.阿拉伯数字和某些标点符号,不能使用其他文字和符号.比如,世界上有英文字母的网址"http://www.abc.com",但是没有希腊字母的网址"http:

jQuery ajax在GBK编码下表单提交终极解决方案(非二次编码方法)(转)

版权声明]:版权归作者所有,转载时请以超链接形式标明文章原始出处和作者信息及本声明:http://www.open-lib.com/Forum/Read_69_1.action 前言: 当jquery ajax在utf-8编码下(页面utf-8,接收utf-8),无任何问题.可以正常post.get,处理页面直接获取正确的内容. 但在以下情况下: GBK -> AJAX POST ->GBK UTF-8 -> AJAX POST ->GBK 后台代码无法获取正确的内容,通常表现为获