Dim data As IDataObject = Clipboard.GetDataObject()
        Dim utf8encoding As Encoding = Encoding.UTF8
        Dim sourceByte() As Byte
        sourceByte = utf8encoding.GetBytes(CType(data.GetData(DataFormats.Html, True), String))
        Dim cnencoding As Encoding = Encoding.GetEncoding(936)
        Dim targetbyte() As Byte
        targetbyte = Encoding.Convert(utf8encoding, cnencoding, sourceByte)        Me.RichTextBox1.Text = cnencoding.GetString(targetbyte)就是显示不出中文

解决方案 »

  1.   

    utf8不能正确显示中文吧,我上次用StreamReader也遇到这样的情况,不知道怎么转成ascii
      

  2.   

    如果在streamreader中的话,你可以加一个参数encoding.ascii。
    从IE中粘贴道剪贴板的数据是utf8的,直接使用的话没有办法显示中文。
      

  3.   

    说起来真是奇怪,颠倒顺序以后居然就可以了:        Dim strClipboardHtml As IDataObject = Clipboard.GetDataObject()
            Dim Chars() As Char
            Chars = CType(strClipboardHtml.GetData(DataFormats.Html, True), String)        Dim strUtf8 As String
            Dim strBytes() As Byte        strBytes = Encoding.Default.GetBytes(Chars)        strUtf8 = Encoding.UTF8.GetString(strBytes)        Me.RichTextBox1.Text = strUtf8
        End Sub
      

  4.   

    System.Text.Encoding.GetEncoding("GB2312")
      

  5.   

    如果是WEB应用程序。
    在WEB.config中找到
        <globalization 
                requestEncoding="gb2312" 
                responseEncoding="gb2312" 
       />
    这一节,(原来好象是UTF-8)改为gb2312即可。
    在整个应用程序中就没有问题了。也不需要在每个模块里加
    System.Text.Encoding.GetEncoding("GB2312")