再问编码问题

jerrycool 2006-09-06 05:49:01
有一个网页是UTF-8编码,里面有一个链接,连到我们的网站http://localhost/zippo/search.aspx?Type=-1&ID=0&price=-1&key=虎
我们网站是用的GB2312编码,取key的时候,出来的值是乱码,试了N多方法,都不行.请大家帮帮忙.
方法1:
string utfinfo = Request.QueryString["key"].Trim();
// string gb2312info = string.Empty;
//
// Encoding utf8 = Encoding.UTF8;
// Encoding gb2312 = Encoding.GetEncoding("gb2312");
//
// // Convert the string into a byte[].
// byte[] unicodeBytes = utf8.GetBytes(utfinfo);
// // Perform the conversion from one encoding to the other.
// byte[] asciiBytes = Encoding.Convert(utf8, gb2312, unicodeBytes);
//
// // Convert the new byte[] into a char[] and then into a string.
// // This is a slightly different approach to converting to illustrate
// // the use of GetCharCount/GetChars.
// char[] asciiChars = new char[gb2312.GetCharCount(asciiBytes, 0, asciiBytes.Length)];
// gb2312.GetChars(asciiBytes, 0, asciiBytes.Length, asciiChars, 0);
// gb2312info = new string(asciiChars);

方法2:
string gb2312info = Server.UrlDecode(Request.QueryString["key"].Trim());

方法3:
string gb2312info = HttpUtility.UrlDecode(Request.QueryString["key"].Trim(), System.Text.Encoding.GetEncoding("gb2312"));

方法4:
string gb2312info = Request.QueryString["key"].Trim();
Encoding UTF8 = Encoding.UTF8;
Encoding gb2312 = Encoding.GetEncoding("gb2312");
byte[] buffer = gb2312.GetBytes(gb2312info); //还原byte[]
gb2312info = UTF8.GetString(buffer); //重新解码
...全文
281 16 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
jerrycool 2006-09-08
  • 打赏
  • 举报
回复
it_fuhai 2006-09-07
  • 打赏
  • 举报
回复
DING!顶!prop up!
www_123du_com 2006-09-07
  • 打赏
  • 举报
回复
你把乱码发出来,我们也好帮你试试,说不定就找到原因了呢?
三多 2006-09-07
  • 打赏
  • 举报
回复
楼主用UTF-8编码读取试下
RyanGT 2006-09-07
  • 打赏
  • 举报
回复
在Web.config里把编码方式改一下就可以了
jerrycool 2006-09-07
  • 打赏
  • 举报
回复
几种方案取的结果:
前几种是跟不转换一样的结果
最后一种取出来的值转换后,没有了...好像成空串了.
昏!
www_123du_com 2006-09-07
  • 打赏
  • 举报
回复
直接取出来是什么样子?
staryjk 2006-09-07
  • 打赏
  • 举报
回复
帮你顶一下,也顺便学学。。。
ygxx 2006-09-07
  • 打赏
  • 举报
回复
兄弟,帮你顶,,,
jerrycool 2006-09-07
  • 打赏
  • 举报
回复
jerrycool 2006-09-07
  • 打赏
  • 举报
回复
jerrycool 2006-09-07
  • 打赏
  • 举报
回复
你用在GB2312的试试就知道区别了

正常的情况应该是显示搜索到的品名或型号为"虎"的商品,而且在标题里也显示key的值!
是不是看到了"铏"这个字!!!虎字成了这样.呵...这就是问题了
www_123du_com 2006-09-07
  • 打赏
  • 举报
回复
试了,看不出什么。
jerrycool 2006-09-07
  • 打赏
  • 举报
回复
jerrycool 2006-09-07
  • 打赏
  • 举报
回复
把以下代码复制到记事本,保存时,选择UTF-8编码,扩展名为htm
再点击link,就知道了!!!
<html>
<head><title>test</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>
<body>
<a href=http://www.zippolight.com/search.aspx?Type=-1&ID=0&price=-1&key=虎>link</a>
</body>
</html>
jerrycool 2006-09-06
  • 打赏
  • 举报
回复
顶!

62,244

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧