asp.net(C#)中文乱码问题

C# ASP.NET页面通过URL参数传值中文乱码问题解决方法 通过手动解码或更改全局编码设置,我们可以有效地解决C# ASP.NET页面通过URL参数传值中文乱码的问题。根据实际情况选择合适的解决方法,并进行充分的测试,确保系统在接收和处理URL参数时能正确处理中文字符。中文字符在URL中是以UTF-8编码进行传输的,而ASP.NET默认使用的是ISO-8859-1编码。需要注意的是,更改全局编码可能会影响到其他部分的功能,因此在进行任何更改之前,务必进行全面的测试。这样配置后,ASP.NET将使用UTF-8编码进行URL参数的解码,从而避免中文乱码问题。 阅读详情
asp.net默认的编码是UTF-8
js文件里的编码也是UTF-8
当你要在aspx页面上进行传中文参数时会出现乱码
<-----request.aspx--接收参数页----->
<----response.aspx--传送参数页----->

例一:<a href="request.aspx?str=中国人"></a>

解决办法一:
1.可以和改webconfig的编码 如:
        <location path='response.aspx'>
            <system.web>
                <globalization fileEncoding='gb2312' requestEncoding='gb2312' responseEncoding='gb2312' culture='zh-CN'/>
            </system.web>
        </location>
注意:你也要把request.aspx页面上的编码也改成同样的,虽然中文乱码解决了,但如果你用到了js文件就会出现乱码
//用这以上方法的话不会改变网站的其它页面上的编码
        <location path='request.aspx'>
            <system.web>
                <globalization fileEncoding='gb2312' requestEncoding='gb2312' responseEncoding='gb2312' culture='zh-CN'/>
            </system.web>
        </location>
解决办法二:
1.如果你不想动webconfig 你可以在”response.aspx.cs“里面对参数进行编码 如:
response.aspx在页面上:
<a href="request.aspx?str=<%=str%>"></a>
response
.cs页面上:
         声明一个变量str
        public string str="中国人";
        str= HttpUtility.UrlEncode(str,System.Text.Encoding.GetEncoding("GB2312"));
//这时str已经是编码后的

2.而在
request.aspx.cs文件中也要进行转换 如:
声明一个变量  
System.Collections.Specialized.NameValueCollection gb2312=HttpUtility.ParseQueryString(Request.Url.Query,
System.Text.Encoding.GetEncoding("GB2312"));
string str=gb2312["str"];

这里的str就是你要接收的中文。

例二
如果你想在js里面传送中文参数 如:
request.aspx?str="+encodeURI("中国人");
这样就不会出现乱码了

例三
就是我在cshn上找到的一个方法我也没试过,大家可以试一下
protected   string   GetQueryString(string   sKey,System.Text.Encoding   e)
{

       string QueryString=Server.UrlDecode(System.Web.HttpUtility.UrlDecode(Request.ServerVariables"QUERY_STRING "],e));

     System.Text.RegularExpressions.Regex   reg   =   new   System.Text.RegularExpressions.Regex(sKey+"=([^&$]*?)(&|$) ");


      System.Text.RegularExpressions.Match   m   =  reg.Match(QueryString);  
      if   (m.Success) 

     {  

        return   m.Result( "$1 "); 

     } 
     else  

      return   String.Empty;              
}
//以上这个不受编码影响,只需知道原来传入的编码就可.

Request.QueryString 乱码问题 Request.QueryString 获取的中文变乱码了,解决方法如下 1、html中,可以用js的 encodeURI() 方法将要传的中文处理,例如 encodeURI("I am 乱码") ,处理之后,字符串中的中文 “乱码” 两字将会被被十六进制的转义序列进行替换。 立即下载

相关推荐

告别混乱!AutoSar BswM模式管理实战:手把手教你配置Rule与ActionList(附避坑指南)

本文详细解析了AutoSar BswM模式管理的实战配置,重点介绍了Rule与ActionList的高效组合方法,帮助开发者避免常见陷阱。通过具体案例演示了从基础到复杂的配置步骤,包括模式仲裁、逻辑表达式构建及ActionList优化策略,提升汽车电子系统的协调性与可靠性。

weixin_27066963的博客 259

Request.QueryString的中文乱码问题_

方法1: 国内的服务器,大多数是中文系统,默认配置          requestEncoding="utf-8"         responseEncoding="utf-8"         fileEncoding="gb2312"         responseHeaderEncoding="utf-8"           你只要在配置文件web.config中加入

天外有天,人外有人。 专注品质 不断创新 让精益求精成为习惯 1791

高效网络流量回放:使用tcpreplay实现多目标IP的pcap重放

本文详细介绍了如何使用tcpreplay工具高效回放网络流量pcap文件,并实现多目标IP发送。通过tcprewrite编辑报文和并行回放策略,可满足安全测试、负载测试等场景需求。文章涵盖安装、基础回放、核心技巧及性能优化,帮助读者构建真实流量压力测试环境。

weixin_29297127的博客 479

【工作笔记0010】asp.net后台Request.QueryString获取的url中文参数乱码解决方案

2.以url形式get或post请求。这种情况多是用在 只需要提交少量数据到后台验证或请求数据,但只要url中参数带有中文,就很可能会出现后台以Request.QueryString["参数名"].ToString();形式获取的中文乱码。究其原因就是该url传到后台之前会重新编码,若传到后台后没有按照原来页面设置的编码格式解码回来的话就会出现获取到的中文参数乱码。

adamlevine7的博客 3555

想学嵌入式但没开发板?试试这个免费的STM32虚拟仿真平台(含LVGL界面教程)

本文介绍如何利用免费的STM32虚拟仿真平台学习嵌入式开发,特别适合预算有限或零硬件基础的学习者。通过详细的LVGL界面开发教程,展示虚拟仿真在嵌入式学习中的高效性和实用性,涵盖环境搭建、代码实现到实机迁移的全流程,助力快速掌握嵌入式开发核心技能。

weixin_29266647的博客 306

Cesium 实战 28 - 三维视频融合(视频投影)

Cesium 实战 27 - 三维视频融合(视频投影)。

非科班Java出身GISer的博客 3369

解决Request.QueryString的中文乱码问题

最近在使用FineUI MVC做系统的开发,功能还是比较强大的, 以后有机会会做一个课题专门讲解,现在将遇到的乱码问题进行记录. 再执行equest.QueryString方法的时候发现IE浏览器下会有乱码的情况发生,为了解决这个问题百度了很久,最开始遇到的解决方案如下:  在配置文件web.config中加入:                  我不知道别人试了效果如何,反正我是不好

番茄酱的黑科技小屋 4171

【OpenFOAM】-olaFlow-算例10-wavemakerTank

采用 Flap和Piston两种方式的动网格进行造波

ou_no的博客 2168

C# asp.net页面通过URL参数传值中文乱码问题解决办法

C# asp.net页面通过URL参数传值中文乱码问题解决办法

p15097962069的博客 135

华为OD机试 新系统 双机位C卷 往年真题 机考题库(持续收录中)以及算法考点详解

每一题都有详细的答题思路、详细的代码注释、样例测试,发现新题目,随时更新,全天优快云在线答疑。

学Java,找哪吒 7万+

ArXiv 2026 即插即用 | Transformer篇 | WeightFormer:告别二次复杂度!无注意力的线性时间 Transformer,泛化能力拉满

WeightFormer是一种创新的动态Transformer架构,其核心创新在于通过双动态算子(空间自适应动态卷积和双边激活动态线性)实现输入自适应的特征提取。该模块采用静态-动态权重融合机制和低秩预测技术,在仅增加5%参数量的情况下显著提升模型泛化能力。相比传统Transformer,WeightFormer在ImageNet-1K上提升2.3%精度,小样本任务提升12%,同时保持线性计算复杂度。模块可直接替换标准Transformer块,特别适合轻量级视觉任务,实现了精度与效率的平衡。

主要更新底层视觉(去噪、超分等)相关的科研内容,形式为【论文精读】+【论文复现】 132

(ASP.NET)C#连接Oracle数据库示例(中文乱码问题解决)

(ASP.NET)C#连接Oracle数据库示例(中文乱码问题解决)

mhx123456789的博客 242

从零构建简历智能匹配系统:AI技术助力高效招聘

本文详细介绍了简历智能匹配系统的开发过程,从数据收集、预处理、特征提取到模型匹配和结果展示,每一步都提供了详细的代码实例。通过使用TF-IDF、Word2Vec和BERT等技术,我们能够有效地将求职者的简历与职位描述进行匹配,从而提高招聘效率。未来,随着自然语言处理技术的进一步发展,简历智能匹配系统将变得更加智能和高效,为企业和求职者提供更好的服务。

理论都是虚的,代码才是王道。 309

asp.net(C#)中文乱码问题(转)(

asp.net默认的编码是UTF-8 js文件里的编码也是UTF-8 当你要在aspx页面上进行传中文参数时会出现乱码 <-----request.aspx--接收参数页-----> <----response.aspx--传送参数页-----> 例一:<a href="request.aspx?str=中国人"></a&...

weixin_33898876的博客 127

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

关于url参数中文乱码的问题 【asp.net C#】

<br />最近做一个小系统,需要url传递中文参数。做完测试的时候,客户对我说,点击分类之后,什么也显示不出来。我说不可能啊,因为我这里显示没问题。后来才发现,原来自己用的是IE7,而客户用的是IE6,我换做IE6测试,果然是这样。<br />这样我就开始在百度上找啊找,最后找到一个在web.config上设置url参数格式。即在<system.web>下面加上<globalization requestEncoding="gb2312" responseEncoding="gb2312" culture

王福朋 2671

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

[转]关于url参数中文乱码的问题 【asp.net C#】

最近做一个小系统,需要url传递中文参数。做完测试的时候,客户对我说,点击分类之后,什么也显示不出来。我说不可能啊,因为我这里显示没问题。后来才发现,原来自己用的是IE7,而客户用的是IE6,我换做IE6测试,果然是这样。 这样我就开始在百度上找啊找,最后找到一个在web.config上设置url参数格式。即在&lt;system.web&gt;下面加上&lt;globalization req...

Corrinejtt 179

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

c# 后台传到前台乱码_C# asp.net页面通过URL参数传值中文乱码问题解决办法

1.编码string state=Server.UrlEncode(stateName.Text.Trim());Response.Redirect("aaa.aspx?state="+state+"");2.解码(aaa.aspx)string state= Server.UrlDecode(Request.QueryString["state"].ToString());是GB2312编码的,...

weixin_39955938的博客 866

解决C# ASP .NET下载出现中文文件名乱码的问题

  Response.ContentType = mime; //相应的MIME TYPE   Response.AppendHeader("Content-Disposition", "attachment; filename=/"" +fileName + "/"");  Response.BinaryWrite(bytes);  Response.End();  ...  当fileName中包含中文时, 文件下载保存时, 文件名变成了乱码, 需要用户修改,这也就违被了我设定预设文件名的初衷.  解决

技术就是个纸老虎---为之,则难者亦易矣;不为,则易者亦难矣。 1575

ASP.NET 前端JS存放中文cookie,后台C#读取cookie乱码问题

cookie仅支持存放英文和数字,存放中文会导致乱码,所以需要使用UrlCode来转码和解码。①前端用js存放中文字符,将其转码为UrlCode://写入中文cookie function setCookie_CN(key, value, t) { var oDate = new Date(); oDate.setDate(oDate.getDate() + t); doc...

u012925833的博客 1487
上一篇: Invoke与BeginInvoke
下一篇: C#语言之“string格式的日期时间字符串转为DateTime类型”的方法
KirogiYi
博客等级 码龄15年 49粉丝 87原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值