解决ASP.NET中的各种乱码问题

http://www.cnblogs.com/fish-li/archive/2012/10/14/2723631.html

C# URL 中文编码与解码

参考资料

http://www.sosuo8.com/article/show.asp?id=3036

http://blog.csdn.net/zhongzhengfeng/article/details/3236551

http://www.mxcz.net/tools/Url.aspx

非常蛋疼的事情, google 和 baidu 在编码是分别采用了 UTF-8 和 GB2312

基础知识

UTF-8中,一个汉字对应三个字节,GB2312中一个汉字占用两个字节。 
不论何种编码,字母数字都不编码,特殊符号编码后占用一个字节。

自动解码

public static string MyUrlDeCode(string str, Encoding encoding)

{

    if (encoding == null)

    {

        Encoding utf8 = Encoding.UTF8;

        //首先用utf-8进行解码                   

        string code = HttpUtility.UrlDecode(str.ToUpper(), utf8);

        //将已经解码的字符再次进行编码.

        string encode = HttpUtility.UrlEncode(code, utf8).ToUpper();

        if (str == encode)

            encoding = Encoding.UTF8;

        else

            encoding = Encoding.GetEncoding("gb2312");

    }

    return HttpUtility.UrlDecode(str, encoding);

}

More

谨慎使用 Request["foo"] 获取参数,反正就是各种bug

还是自己一个参数一个参数的提取安全些

时间: 2024-10-05 09:19:44

解决ASP.NET中的各种乱码问题的相关文章

解决asp.net中“从客户端中检测到有潜在危险的Request.Form值”的问题

在提交表单时候,asp.net 提示:"从客户端(......)中检测到有潜在危险的 Request.Form 值" .asp.net中的请求验证特性提供了某一等级的保护措施防止XSS攻击,asp.net的请求验证是默认启动的.这个给出各个版本.net的解决方法.asp.net 2.0 通常解决办法方案一:将.aspx文件中的page项添加ValidateRequest="false" ,如下:<%@ Page ValidateRequest="fa

解决asp.net中repeater控件的显示数量控制

在使用oracle时,没有top这个属性,如果想限制查询数量,必须使用伪字段ROWNUM 可以看到这里第一列没有title的字段就是rownum字段,在oracle插入数据的时候自带的,无需人为添加. 我们如果想要实现控制查询数量,可以利用这个字段. 方案一: 我们可以写成 SELECT * FROM TA_新闻 WHERE ROWNUM <= 3 ORDER BY 发布时间 DESC 来控制显示三条记录. 但是,我们注意到这个ROWNUM是在插入数据时产生的,也就是说如果我们新插入一条发布时间

解决linux系统中查看中文乱码问题

字符集就是一套文字符号及其编码.常用的字符集有:GBK 定长 双字节 不是国际标准,支持的系统不少UTF-8 非定长 1-4字节广泛支持,MYSQL也使用UTF-8当然了,字符集还有很多,以后再深入学习这部分内容. ①linux系统下的字符集由变量LANG控制. [[email protected] ~]# echo $LANG zh_CN.GB18030 ②export LANG="ZH_CN.GB18030"(临时变更字符集,重启后失效) ③在/etc/sysconfig/i18n

解决zabbix图中出现中文乱码问题

我这周部署了zabbix监控服务器,但是配置过程中发现当有中文时,图中的中文会变成方块 如下图所示: 这个问题是由于zabbix的web端没有中文字库,我们最需要把中文字库加上即可 解决办法如下: 1.从windows下控制面板->字体->选择一种中文字库例如"楷体" 2.把它拷贝到zabbix的web端的fonts目录下例如:/data/www/zabbix/fonts/,并且把TTF后缀改为ttf 3.修改zabbix的web端/include/defines.inc.

解决kettle配置文件中的中文乱码

在日常开发中有时候配置文件会出现中文(如config.properties 里有中文),为了避免出现乱码,因而要转成unicode编码. 1.在设置变量的javascript(转换中的JavaScript)中进行编码转换.(推荐使用此方式) if(!Value.isNull()){ var value = new java.lang.String(new java.lang.String(Value.getString()).getBytes("ISO8859-1"),"GB

解决ASP.NET中的FileUpload 不能上传大于4M文件的限制

ASP.NET的缺省设定只允许上传4M的文件,这是出于对网站安全性的考虑,为了防止网站受到Denial of Service attacks的攻击. 虽说是出于对网站安全性的考虑,但是程序却捕捉不到文件超过4M的异常.调试程序时即使设置了文件超过4M就退出,也只能看着网页超时,无能为力.调了好一阵,上网一搜,这个居然是微软设的陷阱!! 解决方案: 在web.config中的<system.web></system.web>内加入如下代码: <httpRuntime execu

解决Asp.net中的Chart控件运行出现错误提示“ ChartImg.axd 执行子请求时出错”

首先经过错误提示看出需要保存路径之类的,所以猜测是不是配置文件出错了.看了一下配置文件只有连接字符串的配置.后来重新把vs2010关了重新打开,又新建了一个页面,重新添加空间然后运行使用.然后再看配置文件,发现多了许多东西.具体没有配置的东西如下: <?xml version="1.0"?> <!-- 有关如何配置 ASP.NET 应用程序的详细消息,请访问 http://go.microsoft.com/fwlink/?LinkId=169433 --> &l

解决Asp.net中翻页问题的自定义用户控件

阿里妹导读:以深度学习为代表的人工智能在图像.语音和NLP领域带来了突破性的进展,在信息检索和个性化领域近几年也有不少公开文献,比如wide& deep实现了深度模型和浅层模型的结合,dssm用于计算语义相关性,deepfm增加了特征组合的能力,deep CF用深度学习实现协同过滤,rnn recommender 采用行为序列预估实现个性化推荐等. 工业级的信息检索或个性化系统是一个复杂的系统工程,深度学习的工业级应用需要具备三个条件:强大的系统计算能力,优秀的模型设计能力和合适的应用场景.今天

解决ASP.NET中ServiceStack.Redis每小时6000次访问请求的问题

1.可以使用3.0的版本: Install-Package ServiceStack.Redis -Version 3.0 2.使用ServiceStack.Redis.Complete: Install-Package ServiceStack.Redis.Complete -Version 1.0.0