在用IE调试程序一切正常,只是用手机时出现乱码.可能是由于手机输入内容的编码格式为utf-8,而Web.Config中的编码为GB2312 (项目要求,不能更改)
请问如何解决?
谢谢!

解决方案 »

  1.   

    try:string utfinfo = "document.write(\"alert('aa你好么??');\");";
    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.   

    谢谢 wxqq2001(就让我用一生等待) 回复如何鉴别输入的文本编码格式呢?
    如果输入的是GB2312格式的再进行 utf-8 转为 GB2312 这样也会出现乱码?
      

  3.   

    一般都用utf8,不过在传输前都encode,解析前都decode
      

  4.   

    因为调用了Web服务
    用UrlEncode 解决的