C#对URL中的中文乱码处理

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

1、直接在C#后台编码URL参数

引用类库:System.Web.dll

编码:HttpUtility.UrlEncode(“要编码的参数”,System.Text.Encoding.UTF8)后面参数指定编码的字符集。

解码:HttpUtility.UrlDecode(“要编码的参数”,System.Text.Encoding.UTF8)后面参数指定解码的字符集。(注意解码和编码的字符集格式要一致,这里是System.Text.Encoding.UTF8)

2、在ASP.NET中可以使用下面方式

编码

string state=Server.UrlEncode(“要编码的参数”);
Response.Redirect("aaa.aspx?state="+state+"");

解码

string state= Server.UrlDecode(Request.QueryString["state"].ToString());

时间: 2024-09-27 10:36:25

C#对URL中的中文乱码处理的相关文章

jquery.ajax的url中传递中文乱码问题的解决方法

jquery.ajax的url中传递中文乱码问题的解决方法 JQuery JQuery默认的contentType:application/x-www-form-urlencoded 这才是JQuery正在乱码的原因,在未指定字符集的时候,是使用ISO-8859-1 ISO8859-1,通常叫做Latin-1.Latin-1包括了书写所有西方欧洲语言不可缺少的附加字符. JQuery的Ajax根本没有考虑到国际化的问题,使用了欧洲的字符集,所以才引起了传递中文出现乱码的问题. 而我们的UTF-8

spring mvc中关于url中传递中文乱码的解决方法

在传值过程中,也是乱码出现的频繁地.先不说到底是什么场景了,通常常用的方案有如下几个 配置指定的filter <!-- 配置请求过滤器,编码格式设为UTF-8,避免中文乱码--> <filter> <filter-name>springUtf8Encoding</filter-name> <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-

url中,中文乱码的问题

1// 在jsp中 2 String add = java.net.URLEncoder.encode("添加", "utf-8"); 3 add = java.net.URLEncoder.encode(add, "utf-8"); 4//在from标签中5 <form action="Servlet/FinancialServlet?topic=<%=add %>" method="POST&q

js的url中传递中文参数乱码,如何获取url中参数问题

一:Js的Url中传递中文参数乱码问题,重点:encodeURI编码,decodeURI解码: 1.传参页面Javascript代码: <script type=”text/javascript”> function send(){ var url = "test01.html"; var userName = $("#userName").html(); window.open(encodeURI(url + "?userName="

Extjs4.2 ajax请求url中传中文參数乱码问题

今天有个需求须要在url中传入中文參数.结果在后台取得时出现乱码,怀疑可能是编码问题.上网查询了资料,试了几种办法.发现有一种可行,记录在此,以便查阅. url中用encodeURI 进行2次编码: Ext.Ajax.request({ url:"updateadminuser.do?"+userid+"&uname="+encodeURI(encodeURI(uname)), success:function (response) { store.load

get请求中url传参中文乱码问题--集锦

一:get请求url中带有中文参数,有三种方式进行处理防止中文乱码 1.如果使用tomcat作为服务器,那么修改tomcat配置文件conf/server.xml中,在  <Connector port="8082" protocol="HTTP/1.1"  中加入  URIEncoding="utf-8"的编码集 2.前台需要对中文参数进行编码,调用js方法encodeURI(url),将url编码,然后请求. 后台接受时,需处理Stri

url中拼接中文参数,后台接收为乱码的问题

遇到在URL中拼接中文的参数,后台拿到的数据为乱码的问题. 解决的方法是在客户端对这个中文参数进行编码,然后服务端再进行解码就行了. 客户端编码(JavaScript) var url = "contract!select.action?chineseParam=" + encodeURI(encodeURI("我是中文参数")); 注意:编码的时候需要使用两次encodeURI()方法,写一个就是????号,写两个则输出: %4d%5a这种. 服务端解码(Java

关于url传参中文乱码问题

之前都一直很不了解中文编码得问题,之前在做项目中没碰到那么头痛的问题.所以一直没有了解中文乱码的问题. 问题描述: 地址: http://localhost:8080/sun-government/contest/get_teams_by_type_with_page?typeName=新材料 当在windows 跑 myeclipse的命令台  能正确打印出typeName的参数,而且持久层并没有问题. 当在 linux 跑catalina模式  打印出乱码,持久层也是乱码. 百度了好几个好几

Java URL传参中文乱码问题

我们经常会遇到这样的场景:在URL中传递参数,如果该参数为中文,如果设置不当,会出现乱码问题. URL传参所使用的编码为服务器中设置的编码,而ajax请求的编码为页面编码. 如果不设置tomcat的默认编码为ISO-8859-1,而如果在设置中加入 useBodyEncodingForURI="true" <Connector URIEncoding="UTF-8" connectionTimeout="20000" port="