try the following (did not test, so it may not work):Imports System.Text         dim sUnicode as String = ".............."
dim ecp as Encoding = Encoding.GetEncoding( "GB2312" )
dim GBBytes() as Byte = ecp.GetBytes(sUnicode)
dim sGB as string = ecp.GetString(GBBytes)
Response.Write("***" + sGB + "***")

解决方案 »

  1.   

    不太熟悉VB.net,这个C#的不知如何:假设你要转换的UTF8编码的字符串是utf8str,System.Text.Encoding.oenc=System.Text.Encoding.UTF8;
    byte[] utfbytes=oenc.GetBytes(utf8str);
    System.Text.Encoding tenc=System.Text.Encoding.GetEncoding("gb2312");
    string gbstring=tenc.GetString(oenc);
      

  2.   

    <script language="javascript">
    <!--
    function utf2Char(strUtf8)
    {
      var iCode, iCode1, iCode2;
      iCode = parseInt("0x" + strUtf8.substr(1, 2));
      iCode1 = parseInt("0x" + strUtf8.substr(4, 2));
      iCode2 = parseInt("0x" + strUtf8.substr(7, 2));
      
      return String.fromCharCode(((iCode & 0x0F) << 12) | 
    ((iCode1 & 0x3F) <<  6) |
    (iCode2 & 0x3F));
    }
    function utf2unicode(strUtf8) 
    {
    var bstr = "";
    var nOffset = 0; // processing point on strUtf8

    if( strUtf8 == "" )
      return "";

    strUtf8 = strUtf8.toLowerCase();
    nOffset = strUtf8.indexOf("%e");
    if( nOffset == -1 )
      return strUtf8;
      
    while( nOffset != -1 )
    {
      bstr += strUtf8.substr(0, nOffset);
      strUtf8 = strUtf8.substr(nOffset, strUtf8.length - nOffset);
      if( strUtf8 == "" || strUtf8.length < 9 )   // bad string
        return bstr;
      
      bstr += utf2Char(strUtf8.substr(0, 9));
      strUtf8 = strUtf8.substr(9, strUtf8.length - 9);
      nOffset = strUtf8.indexOf("%e");
    }

    return bstr + strUtf8;
    }
    //-->
    </script>各位高手,这段代码怎么改成ASP的格式.关键是:
    return String.fromCharCode(((iCode & 0x0F) << 12) | 
    ((iCode1 & 0x3F) <<  6) |
    (iCode2 & 0x3F));
    这段移位运算怎么解决.求救!!SOS!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!急急.
      

  3.   

    ...
      if(  nOffset  ==  -1  )  
                   return  strUtf8;  
                   在此加上中文以外的处理过程!                     
               while(  nOffset  !=  -1  )  
               {  
    ...
    同时解决中英文混排的情况!!!!!!
      

  4.   

    在网站根目录下面建一个文件web.config,内容如下,就可以解决asp.net的中文传输乱码。
    <?xml version="1.0" encoding="utf-8" ?>
    <configuration>
      <system.web>    <!--  动态调试编译
              设置 compilation debug="true" 以将调试符号(.pdb 信息)
              插入到编译页中。因为这将创建执行起来
              较慢的大文件,所以应该只在调试时将该值设置为 true,而所有其他时候都设置为
              false。有关更多信息,请参考有关
              调试 ASP.NET 文件的文档。
        -->
        <compilation defaultLanguage="vb" debug="true" />    <!--  自定义错误信息
              设置 customErrors mode="On" 或 "RemoteOnly" 以启用自定义错误信息,或设置为 "Off" 以禁用自定义错误信息。
              为每个要处理的错误添加 <error> 标记。
        -->
        <customErrors mode="RemoteOnly"   />    <!--  身份验证 
              此节设置应用程序的身份验证策略。可能的模式是“Windows”、
              “Forms”、“Passport”和“None”
        -->
        <authentication mode="Windows" /> 
        <!--  授权 
              此节设置应用程序的授权策略。可以允许或拒绝用户或角色访问
              应用程序资源。通配符:"*" 表示任何人,"?" 表示匿名 
              (未授权的)用户。
        -->
        <authorization>
            <allow users="*" /> <!-- 允许所有用户 -->            <!--  <allow     users="[逗号分隔的用户列表]"
                                 roles="[逗号分隔的角色列表]"/>
                      <deny      users="[逗号分隔的用户列表]"
                                 roles="[逗号分隔的角色列表]"/>
                -->
        </authorization>    <!--  应用程序级别跟踪记录
              应用程序级别跟踪在应用程序内为每一页启用跟踪日志输出。
              设置 trace enabled="true" 以启用应用程序跟踪记录。如果 pageOutput="true",则
              跟踪信息将显示在每一页的底部。否则,可以通过从 Web 应用程序
              根浏览 "trace.axd" 页来查看 
              应用程序跟踪日志。
        -->
        <trace enabled="false" requestLimit="10" pageOutput="false" traceMode="SortByTime" localOnly="true" />
        <!--  会话状态设置
              默认情况下,ASP.NET 使用 cookie 标识哪些请求属于特定的会话。
              如果 cookie 不可用,则可以通过将会话标识符添加到 URL 来跟踪会话。
             若要禁用 cookie,请设置 sessionState cookieless="true"。
        -->
        <sessionState 
                mode="InProc"
                stateConnectionString="tcpip=127.0.0.1:42424"
                sqlConnectionString="data source=127.0.0.1;user id=sa;password="
                cookieless="false" 
                timeout="240" 
        />    <!--  全球化
              此节设置应用程序的全球化设置。
        -->
        <globalization requestEncoding="gb2312" responseEncoding="gb2312" />
       
      </system.web></configuration>
      

  5.   

    UP本人机器上没有安装.NET工作环境,现在只能用ASP结解.但移位运算又相当复杂,故想使用控件.谁能将上面我提交的代码用控件的方式再转换一下.其它的更好的办法可以接受.