数据库中的繁体中文字符串,取出后用简体中文显示,要代码

解决方案 »

  1.   

    http://community.csdn.net/Expert/topic/2896/2896938.xml?temp=.8973505'你用StrConv这个函数就可以搞定了!
    '****** 简繁体互换 GB-->BIG5 Or BIG5-->GB  *****************
    '参数sStr为需要转换的文本
    '参数iConver为要转化的类型,为1时表示繁体到简体的转换,为2时表示简体到繁体的转换
    Function GBBIG5(sStr As String, iConver As Integer) As String
    On Error Resume Next
        Dim STR
        If iConver = 1 Then 'BIG5-->GB
            STR = StrConv(sStr, vbFromUnicode, &H804)
            GBBIG5 = StrConv(STR, vbUnicode, &H404)
        ElseIf iConver = 2 Then 'GB-->BIG5
            STR = StrConv(sStr, vbFromUnicode, &H404)
            GBBIG5 = StrConv(STR, vbUnicode, &H804)
        End IfEnd FunctionPrivate Sub Command1_Click()
        Text1.Text = GBBIG5("这是个测试程序", 2)
    End Sub
      

  2.   

    参考我在这个帖子里的回复:
    http://community.csdn.net/Expert/topic/2939/2939892.xml?temp=.2083704GBToBig3.TAB转换表文件在如下地址下载:
    (该文件肯定存在,如果“找不到服务器”请多尝试几次,因为51.net空间不大稳定。)
    http://smallfairy.51.net/GBToBig5.zip
      

  3.   

    我上面的码表是简体转繁体的,你可以做反表运算。码表是一个-32768 To 32767的Integer数组,假如U是一个汉字的UniCode,T()是数组,那么T(U)是该汉字对应繁体的UniCode反表算法是:T2(T1(i))=i T1()是简体转繁体表,T2为繁体转简体表。但是这种转换有一些字符不准确。我最近也在研究繁体转简体表。
      

  4.   

    如果是数据库的简繁体转换,可以用.net写一个简单的小程序就可以完成.
    所用函数为:StrConv,在.NET中该函数得到了加强 数据库连接参数请修改
    Dim Conn As New ADODB.Connection
    Dim Reco As New ADODB.Recordset
    Dim Inti As Integer
    conn.ConnectionString = "User ID=" & TextBox3.Text & ";Data Source='" & TextBox1.Text & "';Tag with column collation when possible=False;Initial Catalog=" & TextBox2.Text & ";Use Procedure for Prepare=1;Auto Translate=True;Persist Security Info=False;Provider='SQLOLEDB.1';Workstation ID=MARKET;Use Encryption for Data=False;Packet Size=4096;pwd=" & TextBox4.Text & ""
    conn.Open()
    Reco.Open("select * from 你用的表", Conn, 1, 3)
    Do While Not reco.EOF
       Inti = Inti + 1
    'SimplifiedChinese  转换成简体
    'Reco.Fields(1).Value = StrConv(Reco.Fields(6).Value,VbStrConv.SimplifiedChinese)
    'traditionalchinese  转换成繁体
    'Reco.Fields(1).Value = StrConv(Reco.Fields6).Value,VbStrConv.traditionalchinese)
                Reco.Update()
                reco.MoveNext()
            Loop
            Reco = Nothing
            Conn.Close()
      

  5.   

    Function GBBIG5(sStr As String, iConver As Integer) As String
    On Error Resume Next
        Dim STR
        If iConver = 1 Then 'BIG5-->GB
            STR = StrConv(sStr, vbFromUnicode, &H804)
            GBBIG5 = StrConv(STR, vbUnicode, &H404)
        ElseIf iConver = 2 Then 'GB-->BIG5
            STR = StrConv(sStr, vbFromUnicode, &H404)
            GBBIG5 = StrConv(STR, vbUnicode, &H804)
        End IfEnd FunctionPrivate Sub Command1_Click()
        Text1.Text = GBBIG5("这是个测试程序", 2)
    End Subfor help:這段代碼我試過好象有問題,它顯示的是亂碼