我先在前台将中文字符串用encodeURI编码,然后后台用怎么都得不到正确的字符串,例如“中华人民共和国”得到的字符串是“涓崕浜烘皯鍏卞拰鍥? ”
我在web.config中有这个设置<globalization requestEncoding="GB2312" responseEncoding="GB2312"/>,而且先前的部分都是在这个编码下做的,所以不能改成utf-8,请问有什么方法我可以在后台得到正确的字符串,谢谢!
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>无标题页</title>
    <link href="css.css" rel="stylesheet" type="text/css" /></head>
<body>
    <form id="form1" runat="server">
    <div>
        <input id="Button1" type="button" value="button" language="javascript" onclick="return Button1_onclick()" />
        <input id="Text1" type="text" /></div>
    </form>
</body>
</html>
<script language="javascript" type="text/javascript">
<!--function Button1_onclick() {
    window.open("UTFTOGB2312web2.aspx?txt="+encodeURI(document.getElementById("Text1").value)+"","web","");
}// -->
</script>protected void Page_Load(object sender, EventArgs e)
{
        string s1 = Request.QueryString["txt"].ToString();        Encoding utf8 = Encoding.GetEncoding("utf-8");
        Encoding gb2312 = Encoding.GetEncoding("gb2312");        byte[] utf8Str = utf8.GetBytes(Request.QueryString["txt"].ToString());
        byte[] gb2312Str = Encoding.Convert(utf8, gb2312, utf8Str);        this.Label1.Text = gb2312.GetString(gb2312Str);   //这里得到的结果是"涓崕浜烘皯鍏卞拰鍥? "
        this.Label2.Text = Server.UrlDecode(Request.QueryString["txt"].ToString());   //这里得到的结果是"涓崕浜烘皯鍏卞拰鍥? "}