URL
中包含中文参数造成乱码的解决之道
中文乱码一直以来是WEB开发中比较常见的问题之
一,对于初学者来说,各种各样的编码方式可能会有点不适
应,本篇文章并不讲述这些编码,而是把自己遇到的一个小
问题以及该问题的解决之法说明一下,希望对大家有用。
问题:
前段时间,在系统中做了一个类似于友情链接的
功能块,一直运行良好,直到有一天加了类似于以下的链接
地址:
http://www.****.com/user.aspx?id=
水天,就出现大问
题了:
1、从IE地址栏中直接输入这个地址,访问没
错;
2、做一个静态页,其中包括这个超链接,点击访
问也没错;
3、就是把这个链接添加到这个功能块中,
点击访问那边接收到的是乱码。
一开始,被这个问题也
搞得头大,在
了一把后,总算是把问题给搞清楚了,
其实只要这个链接地址不经过任何编码传递是不会有问题
的。但就是加到了这个功能块后,再点击,虽然这个时候在
IE地址栏里显示的还是
"http://www.****.com/user.aspx?id=
水天
"
,但真正传递过去的参数
"
水天
"
其实已经经过类似于
Server.UrlEncode
的操作了,当然默认是
utf-8
编码,正是由
于这个原因,如果对方系统不进行相应的解码,直接操作该
参数,就产生了以上的错误。
解决方法:
网上有很
多解决之道,最常见的莫过于以下几点:
1、在