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)就是显示不出中文
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)就是显示不出中文
从IE中粘贴道剪贴板的数据是utf8的,直接使用的话没有办法显示中文。
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
在WEB.config中找到
<globalization
requestEncoding="gb2312"
responseEncoding="gb2312"
/>
这一节,(原来好象是UTF-8)改为gb2312即可。
在整个应用程序中就没有问题了。也不需要在每个模块里加
System.Text.Encoding.GetEncoding("GB2312")