是不是要设置编码:System.Text.GetEncoding("gb2312");
解决方案 »
- 看到如下一段话,请大家给个代码的例子解释一下!
- 请教高手,本地正常运行的JavaScript代码发布后出现error
- 关于创建大量对象内存损耗问题
- 有关类似 hashtable 键值对类型集合的访问问题
- 数据库问题!
- 解释一下下面的语义
- 在web程序里如何能通过程序直接登陆到新浪的邮箱?
- 高分相送~~~有关运行c#程序需要的硬件配置的简单问题~~~~~~~~~~
- C#插入数据到access数据库,第一条数据丢失
- 召唤xixigongzhu(夕夕公主)进来拿分
- Resource: 能否给出具体例子说明如何取得resource值
- 谁知道Microsoft Visual Studio .NET的中文开发文档哪有下载??
我做的是控制台程序,而且我把含中文的url直接输入浏览器却完全正确。
System.Web.HttpUtility.UrlEncode();>而且我把含中文的url直接输入浏览器却完全正确。
编码的工作,浏览器帮你做了
无效的 URI:无法确定 URI 的格式。
http://www.google.com/search?q=hello
把地址部分(www.google.com)送到System.Web.HttpUtility.UrlEncode()中编码,请求部分保留(如果有中文的话也需要单独编码,但要把?和&等排除在外)。还有,http://不要送到编码里面去。
经过试验,我发现
原来浏览器给汉字编的码跟System.Web.HttpUtility.UrlEncode()根本就不一样,所以才会出现这些问题。不知道用什么方法才能得到象浏览器那样的编码?
谢谢
经过三个小时不懈的努力终于找到解决的办法了
public string GB2Unicode(string strSearch)
{
string Hexs="";
string HH;
Encoding GB=Encoding.GetEncoding("GB2312");
Encoding unicode=Encoding.Unicode; byte[] GBBytes=GB.GetBytes(strSearch);
for(int i=0;i<GBBytes.Length;i++)
{
HH="%"+GBBytes[i].ToString("x");
Hexs+=HH;
}
return Hexs;
}
我写了这么个函数,把汉字先变成Unicode哈哈,然后在加到URL中,就OK了,哈哈,兴奋死了