【大哥们帮忙】转换gb2312时,怎么避免转换“=”“&”1.用HttpUtility.UrlEncode的方式会吧下面字符串的“=”和“&”也转换成gb2312了。我不想转这个。因为POST的时候会出错。string unicodeString = "ct=1&cm=1&spRefURL=http://hi.baidu.com/xxxx/creat/blog/&spBlogTitle=文章标题&spBlogText=文章内容&spBlogCatName=默认分类&spIsCmtAllow=1&spBlogPower=0&spVcode=&spVerifyKey=&tj=+发表文章+";
string s1 = HttpUtility.UrlEncode(unicodeString, Encoding.GetEncoding("gb2312"));2.用这种方法。可以解决问题。但是很麻烦。              Encoding myEncoding = Encoding.GetEncoding("gb2312");
            string strArgs = HttpUtility.UrlEncode("ct", myEncoding) + "=" + HttpUtility.UrlEncode("1", myEncoding) + "&" +
            HttpUtility.UrlEncode("cm", myEncoding) + "=" + HttpUtility.UrlEncode("1", myEncoding) + "&" +
            HttpUtility.UrlEncode("spRefURL", myEncoding) + "=" + HttpUtility.UrlEncode("http://hi.baidu.com/xxxx/creat/blog/", myEncoding) + "&" +
            HttpUtility.UrlEncode("spBlogTitle", myEncoding) + "=" + HttpUtility.UrlEncode("文章标题", myEncoding) + "&" +
            HttpUtility.UrlEncode("spBlogText", myEncoding) + "=" + HttpUtility.UrlEncode("文章内容", myEncoding) + "&" +
            HttpUtility.UrlEncode("spBlogCatName", myEncoding) + "=" + HttpUtility.UrlEncode("默认分类", myEncoding) + "&" +
            HttpUtility.UrlEncode("spIsCmtAllow", myEncoding) + "=" + HttpUtility.UrlEncode("1", myEncoding) + "&" +
            HttpUtility.UrlEncode("spBlogPower", myEncoding) + "=" + HttpUtility.UrlEncode("0", myEncoding) + "&" +
            HttpUtility.UrlEncode("spVcode", myEncoding) + "=&" +
            HttpUtility.UrlEncode("spVerifyKey", myEncoding) + "=&" +
            HttpUtility.UrlEncode("tj", myEncoding) + "=" + HttpUtility.UrlEncode(" 发表文章 ", myEncoding);

解决方案 »

  1.   

    将= replace回来就好了。
                    string unicodeString = "ct=1&cm=1&spRefURL=http://hi.baidu.com/xxxx/creat/blog/& spBlogTitle=文章标题&spBlogText=文章内容&spBlogCatName=默认分类& spIsCmtAllow=1&spBlogPower=0&spVcode=&spVerifyKey=&tj=+发表文章+";
                    string s1 = HttpUtility.UrlEncode(unicodeString, Encoding.GetEncoding("gb2312"));
                    string sequals=HttpUtility.UrlEncode("=", Encoding.GetEncoding("gb2312"));
                    s1 = s1.Replace(sequals, "=");