Asp.net的HttpCookie写入汉字读取时为乱码的解决方法

asp.net|cookie|汉字|解决

  今天有个学生妹妹问我:在Asp.net的HttpCookie中写入汉字,读取值为什么全是乱码?其实这是因为文字编码而造成的,汉字是两个编码,所以才会搞出这么个乱码出来!其实解决的方法很简单:只要在写入Cookie时,先将其用Url编码,然后再写入,当我们读取时再解码就OK了,希望更多的学生妹妹能解决它,呵呵!

   例子:

   Cookie的写入:

1HttpCookie cookie=new HttpCookie("Simple");
2cookie.Values.Add("Simple1",HttpUtility.UrlEncode("大叔,你好!"));
3cookie.Values.Add("Simple2","English is OK!Nothing we should do!");
4Response.AppendCookie(cookie);  Cookie的读取:
1HttpCookie cookie=Request.Cookies["Simple"];
2string simple1=HttpUtility.UrlDecode(cookie["Simple1"]);
3string simple2=cookie["Simple2"];  这样simple1="大叔,你好!";simple2="English is OK!Nothing we should do!";

  很简单吧!!!

时间: 2024-12-08 21:11:25

Asp.net的HttpCookie写入汉字读取时为乱码的解决方法的相关文章

在Asp.net的HttpCookie中写入汉字,读取时为乱码的解决方法!

原文 www.cnblogs.com/xdotnet/archive/2006/09/27/Get_right_cookie_value.html   今天有个***妹问我:在Asp.net的HttpCookie中写入汉字,读取值为 什么全是乱码?其实这是因为文字编码而造成的,汉字是两个编码,所以才会搞出这么个乱码出来!其实解决的方法很简单:只要在写入Cookie时,先将其用 Url编码,然后再写入,当我们读取时再解码就OK了,希望更多的***妹能解决它,呵呵!   例子:   Cookie的写

HttpClient 流式读取时中文乱码的解决方法

1.非流式读取 HttpClient中可以之间使用HttpMethod的getResponseBodyAsString()方法获取返回的内容,在读取之前,如果需要做编码设置可以这样: HttpMethod get=new GetMethod(url); httpClient.executeMethod(get); get.getParams().setContentCharset("GBK"); 这么做虽然可以解决中文乱码问题,但是在HttpClient 3.1中这种方法是不推荐的,会

通过 OLE DB 连接 MSSQL Server时出现乱码的解决方法

server|解决 当使用OLE DB方式与MS SQL Server连接时,如果数据库的代码页与本地的不同,当进行查询时字符的返回值就会变成 ? 或是乱码, 微软的网站上说这是一个BUG, 并且描述如下:When you try to retrieve character data from a column with different collation than the client code page in Microsoft SQL OLE DB Provider (SQLOLEDB

IE浏览器在post提交时中文乱码的解决方法_JSP编程

现在遇到的问题是在页面和服务器端都配置了字符编码uft-8,但是在提交时火狐,chrome都没有问题,ie8确出现了中文乱码,采用的解决方法是在网页端转码,在服务器端再转回来,实例: 客户端: 复制代码 代码如下: userName = encodeURI(userName); post提交后 服务器端: 复制代码 代码如下: response.serContentType("text/html;charset=utf-8"); String keyword= request.getP

通过命令行导入到mysql数据库时出现乱码的解决方法_Mysql

解决方案: 打开sql文件,在SQL文件第一行加入如下内容 /*!40101 SET NAMES utf8 */; 将SQL文件另存为UTF-8 NO BOM格式 通过ftp上传sql文件,放在根目录下就可以了 进入你的cPanel, 看到cron jobs 这个图标,点击进去,然后选Advanced (Unix Style) 因为只需要运行一次,所以Minute, Hour, Day, Month 都填入准备运行的具体时间,留两分钟余量就行(如果虚拟主机不在本地,可以在FTP上查看一下主机时间

sqlite-android读取手机联系人并在textview中显示名字时中文乱码怎么解决?

问题描述 android读取手机联系人并在textview中显示名字时中文乱码怎么解决? android读取手机联系人并在textview中显示名字时中文乱码怎么解决?从数据库里来的中文的全变成"?"了,其他的正常. 解决方案 new String(lCursor.getBlob(indexName), "UTF-8").replace("", "").replace("r", "");

Java读取properties配置文件时,出现中文乱码的解决方法_java

如下所示: public static String getConfig(String key) { Properties pros = new Properties(); String value = ""; try { pros.load(new InputStreamReader(Object.class.getResourceAsStream("/properties.properties"), "UTF-8")); value = pr

asp.net实现从Txt文件读取数据到数据视图的方法_实用技巧

本文实例讲述了asp.net实现从Txt文件读取数据到数据视图的方法.分享给大家供大家参考,具体如下: #region 从Txt文件读取数据到数据视图 /// 从Txt文件读取数据到数据视图 /// </summary> /// <param name="strExcelPath">文件路径</param> /// <returns>返回一个数据视图</returns> public static DataView GetDa

sql server 2005时发生18452错误解决方法

ODBC 测试sql server 2005时发生18452错误解决方法 用.net开发的网站连接数据库里发生错误,当访问静态页面里显示正常. 1.首先想到的是测试ODBC数据源,当用sql用户和密码登录时出现如下图错误: 2.因为是在客户服务器上安装,所以未设置sa的密码,由于安装时未勾选择了"windows身份验证",所以当你测试sql server 2005的用户时出现此错误. 3.打开"SQL Server Management Studio"双击数据库所在