Request.UrlReferrer中文乱码解决方法

2014-10-24  来源:本站原创  分类:实用技巧  人气:1 

参考了网络大部分的解决方案,没一个能搞定的,如果穷途末路,试试下面的方法:将获得的前一页面的URL分成两段,后面的参数部分进行编码(直接对URL编码是不行的),然后再组合一下就可以了,需要的朋友可以了解下

参考了网络大部分的解决方案,没一个能搞定的,如果穷途末路,试试下面的方法:
将获得的前一页面的URL分成两段,后面的参数部分进行编码(直接对URL编码是不行的),然后再组合一下就可以了。

if(!Page.IsPostBack)
{
ReUrl = Page.Request.UrlReferrer.ToString().Split('?')[0].ToString() + HttpUtility.UrlEncode(Page.Request.UrlReferrer.Query,System.Text.Encoding.GetEncoding("GB2312"));
if (ReUrl == null || ReUrl == "")
{
ReUrl = HttpContext.Current.Request.Url.PathAndQuery ;
}
ViewState["ReUrl"] = ReUrl;
}

另外注意点的是,返回到前一页时需要进行解码
Response.Redirect(Server.UrlDecode((string)ViewState["ReUrl"].ToString()));
在参考解决方案发现了一段比较重要的代码,特别是对于安全性较高的网站来说可能有的作用。

1,在用户改变地址栏的URL的参数的时候,提示用户无权执行此操作
把下面代码放在Page_Load事件里

复制代码 代码如下:

try
{
string strTemp = Request.UrlReferrer.PathAndQuery ;
}
catch
{
throw new Exception("你不能修改参数!") ;
}

说明:此方法属于"偏门"方法,利用的是,如果用户修改URL的参数,Request.UrlReferrer
将会得到null,null当然不可能有PathAndQuery属性了,所以就会抛出一个异常

相关文章
  • Request.UrlReferrer中文乱码解决方法 2014-10-24

    参考了网络大部分的解决方案,没一个能搞定的,如果穷途末路,试试下面的方法:将获得的前一页面的URL分成两段,后面的参数部分进行编码(直接对URL编码是不行的),然后再组合一下就可以了,需要的朋友可以了解下 参考了网络大部分的解决方案,没一个能搞定的,如果穷途末路,试试下面的方法: 将获得的前一页面的URL分成两段,后面的参数部分进行编码(直接对URL编码是不行的),然后再组合一下就可以了. if(!Page.IsPostBack) { ReUrl = Page.Request.UrlReferr

  • jquery的ajax()函数传值中文乱码解决方法介绍 2014-04-01

    jquery的ajax()函数传值中文乱码解决方法介绍,需要的朋友可以参考下 $.ajax({ dataType : 'json',type : 'POST',url : 'http://localhost/test/test.do',data : {id: 1, type: '商品'},success : function(data){ } } ); 问题: 提交后后台action程序时,取到的type是乱码 解决方法: 方法一:提交前采用encodeURI两次编码,记住一定是两次 1.修改以

  • Asp中使用JQuery的AJAX提交中文乱码解决方法 2015-04-09

    这篇文章主要介绍了Asp中使用JQuery的AJAX提交中文乱码解决方法,使用Asp中的unescape() 和escape() 函数即可解决乱码问题,需要的朋友可以参考下 客户端页:client.html <script> //jquery的post $.post ( 'server.asp', { Act:'DoSubmit', UserName:escape('脚本之家'),//进行编码 WebSite:'www.jb51.net' }, function(data) { alert(u

  • JS cookie中文乱码解决方法 2014-04-26

    本篇文章主要是对JS中的cookie中文乱码解决方法进行了介绍,需要的朋友可以过来参考下,希望对大家有所帮助 function SetCookie(name, value) { var exp = new Date(); exp.setTime(exp.getTime() + 3 * 24 * 60 * 60 * 1000); //3天过期 document.cookie = name + "=" + escape(value) + ";expires=" + ex

  • mysql导入导出数据中文乱码解决方法小结 2014-05-25

    本文章总结了mysql导入导出数据中文乱码解决方法,出现中文乱码一般情况是导入导入时编码的设置问题,我们只要把编码调整一致即可解决此方法,下面是搜索到的一些方法总结,方便需要的朋友 linux系统中 linux默认的是utf8编码,而windows是gbk编码,所以会出现上面的乱码问题. 解决mysql导入导出数据乱码问题 首先要做的是要确定你导出数据的编码格式,使用mysqldump的时候需要加上--default-character-set=utf8, 例如下面的代码: mysqldump

  • 远程linux xshell下输出中文乱码解决方法 2014-07-04

    在xshell下如果输出的是中文的话可能会显示乱码,通过如下办法可以有效的解决乱码问题,感兴趣的你可以参考下哈,希望可以帮助到你 使用xshell登录中文版CentOS或者redhat时,在xshell下如果输出的是中文的话可能会显示乱码,通过如下办法可以有效的解决乱码问题 linux中文乱码解决方法如下: [[email protected] ~]# cd /etc/sysconfig/ [[email protected] sysconfig]# cp i18n i18n.bak #备份i18n文件 [

  • wxPython窗口中文乱码解决方法 2015-04-07

    这篇文章主要介绍了wxPython窗口中文乱码解决方法,在Python程序设计中比较常见,是非常实用的技巧,需要的朋友可以参考下 本文实例讲述了wxPython窗口中文乱码解决方法,分享给大家供大家参考.具体方法如下: 文件保存为 utf-8 文件开头添加 # -*- coding: utf-8 -*- 在有中文字符串前加u或U,例如:u"我的网站:http://www.jb51.net" 示例如下: # -*- coding: utf-8 -*- import wx class Ap

  • 简体中文Win7打开简体中文chm中文乱码解决方法 2012-06-13

    简体中文Win7打开简体中文chm中文乱码解决方法:regedit, 在HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\International下增加名为AutoDetect类型为DWORD值为1的键值. 转自:@QIBING

  • Msysgit中文乱码解决方法 2013-09-23

    msysgit-Git-version-previewdate.exe中文乱码解决方法 Git的Windows版本Msysgit对中文的支持不够好,当使用时,会出现以下情况的中文乱码: 1.ls不能显示中文目录 解决办法: 在git-completion.bash中增加一行: alias ls='ls --show-control-chars --color=auto' 2.git commit不能提交中文注释 解决办法: 修改inputrc中对应的行: set output-meta on s

  • putty 中文乱码解决方法 2013-11-13

    putty 中文乱码解决方法 方法一: 打开putty主程序,选择window-〉Appearance-〉Font settings-〉Change...,选择Fixedsys字体,字符集选择CHINESE_GB2312.在window-〉Appearance -〉Translation中,Received data assumed to be in which character set 中,把Use font encoding改为UTF-8如果经常使用,把这些设置保存在session里面.

  • 分享JSP中文乱码解决方法 2014-02-08

    本文给大家分享的是4种jsp中出现中文乱码的解决方法,非常的细致全面,并附上具体的示例,推荐给大家,有需要的小伙伴可以参考下. 一.JSP页面中文乱码 在JSP页面中,中文显示乱码有两种情况:一种是HTML中的中文乱码,另一种是在JSP中动态输出的中文乱码. 先看一个JSP程序: <%@ page language="java" import="java.util.*" %> <html> <head> <title>

  • mysql 中文乱码 解决方法集锦 2014-01-16

    主要是针对 1.4x版本的一些乱码问题,其实新版本中错误也差不多,大家注意下编码问题. 第一个方法: MySQL 4.1 中文乱码的问题 最近要将 MySQL 4.0 升级到 MySQL 4.1 ,发现了中文乱码的问题,希望以下见解对大家有用. 1. MySQL 4.1 在文字上有很大改进,它有了 Character Set 与 Collation 的慨念. 2. 在 MySQL 4.0 ,一般的程式都会将文字以拉丁文 ( latin) 来储存,就算我们输入中文字,结果仍是放在以拉丁文设置的文字

  • python sqlobject(mysql)中文乱码解决方法 2015-01-31

    在使用python写项目的时候,用到了sqlobject库函数connectionForURI连接mysql,但是遇到了中文显示乱码的问题,在添加记录的时候还抛出异常 UnicodeEncodeError: 'latin-1' codec can't encode characters in position: 找了一天终于搞明白了,默认情况下,mysql连接的编码是latin-1,你需要指定使用什么编码方式: connectionForURI(mysql://user:[email protected]

  • suse 下面java读取目录中文乱码解决方法 2012-12-03

    项目里面有一段读取文件创建index,里面有中文目录.导致创建失败,现解决方法如下: 1.查看系统 LANG变量: echo $LANG 打印结果是: en_US.UTF-8 2.修改LANG变量: a)以root身份登录,通过vi打开profile vim /etc/profile b)添加以下内容: export LC_ALL="zh_CN.GBK" export LANG="zh_CN.GBK" c)保存并退出 d)重新加载profile source /et

  • MyEclipse编码设置,中文乱码解决方法,UTF-8,GBK 2013-09-02

    在Myeclipse导入一个项目,有中文乱码问题,解决方法如下: 一.将整个project设置编码UTF-8(UTF-8可以最大的支持国际化) windows->Preferences->general->Workspace->Text file encoding->Other框中的Text file encoding改为UTF-8. 二.对java源文件编码设置为UTF-8. windows->Preferences->general->Context T

  • phpword中文乱码解决方法 2015-03-17

    phpword是一个强大的PHP库用于创建Word文件,利用这个库可以插入文本.Text分段.页分段.页头/页脚.表格.列表元素.超链接.并进行格式化,最终生成docx文件,但是在导出中文时出现乱码问题,以下是解决办法,希望对你有所帮助. 一.增加东亚字体支持 打开并编辑路径/Writer/Word2007/Base.php文件内容,大概在第349行(行数随着版本可能会有变化)大概函数_writeTextStyle内添加: $objWriter->writeAttribute('w:eastAs

  • php url地址栏传中文乱码解决方法集合 2014-03-20

    php地址栏传中文$_GET下来后乱码,urlencode和urldecode,iconv,base64_encode等方法,整理基本是常用的了. php地址栏传中文$_GET下来后乱码,urlencode和urldecode用法详解 url编码 语法: string urlencode(string str); 返回值: 字符串 函数种类: 编码处理 例如: <?php $ChineseName="我的名字,是中文的哦"; $EncodeStr=urlencode($Chine

  • PHP+MySQL5.0中文乱码解决方法 2014-06-04

    最近学习Apache2+PHP4.4.1+MySQL5.0,页面显示中文全为"???.....",在网上找了好多资料,简单解决! 数据库连接的PHP脚本内容: config.inc.php <?php //配置mysql数据库连接参数 $db = mysql_connect("localhost", "user","password"); mysql_select_db("message",$db);

  • Windows控制台(cmd)中文乱码解决方法 2012-03-20

    在任意位置创建一个txt文本,将下面内容写入该文本中: Windows Registry Editor Version 5.00 [HKEY_CURRENT_USER/Console/%SystemRoot%_system32_cmd.exe] "CodePage"=dword:000003a8 然后重命名为".reg"结尾的文件.双击该文件,出现导入成功的提示就OK了.重新启动控制台就可以正常显示中文了! 注: "000003a8"是16进制,

  • PHP也有万恶的中文乱码,解决方法 2015-02-06

    汉字乱码真是一个悲催的事情,JAVA讨厌汉字,PHP也不喜欢汉字: Java乱码最终使用了spring给出的过滤器来过滤,处处过滤,其实影响了速度,不过没有办法,汉字就是W国首先不考虑的事情: 想不到PHP也是乱码处处在,当你使用亲兄弟MySQL的时候,汉字显得那么亲切,从未考虑过他会变成天书:不过为了和其他其他交互,把PHP的手伸到SQL SERVER的时候,乱码来了,原因是第三方系统用的GBK编码: 哎,转换吧: 1,PHP自带的转换函数ICONV,一个高大上的函数: string icon