我有个含有UNICODE的STRING,如果我直接把它弄到RICH TEXT BOX里, RTextBox.text=strUnicode  有些UNICODE字符会丢失,显示成?符号。所以我考虑把STRING转成富文本保存成RTF,这样就可以用RICH TEXT BOX编辑了。求助~~

解决方案 »

  1.   

    VB6的RICHTEXTBOX版本是ANSI的,你用UNICODE版本的RICHTEXTBOX控件就没有问题.
      

  2.   

    保存之前用下面这个函数转换成Unicode文本:
    Text=StrConv("原来的文本",vbUnicode)
      

  3.   

    RTF格式本身是通过\u13312这样的编码方式正常保存unicode字符.我觉得这不是你要担心的重要问题.楼主这似乎还和上一个法文的问题是同一件事?
      

  4.   

    即使你转换成功,再读回来时我想仍会有?情况发生。
    因为VB6的RICH TEXT BOX不能很好的支持Unicode。
      

  5.   

    Microsoft Rich TextBox Control 6.0 (SP6) 支持UNICODE字符。也就是说打开了补丁SP6补丁是可以的。
      

  6.   


    你好,RICH TEXT BOX如果读TXT是不支持UNICODE的,但是如果是RTF就可以。所以我想转成RTF
    在哪能下到SP6的补丁?谢谢
      

  7.   


    Private Sub Command1_Click()
        Dim wordApp As New Word.Application
        '添加Document文档对象
        wordApp.Documents.Add
        '设置Word对象标题
        wordApp.Caption = "WORD文档"
        With wordApp.Selection
              .typetext Text1.Text
        End With
        '保存文档为RTF
        wordApp.ActiveDocument.SaveAs App.Path & "\文件名.rtf"
        '设置Word对象可见
        wordApp.Visible = True
    End Sub窗口中新建textbox1和Command1
    然后在 "工程"->"引用" 中把Microsoft Word勾选上
    运行后点击Command1会在程序所在文件夹生成一个 文件名.rtf
    不知道楼主是不是这个意思
      

  8.   

    VB最新SP6补丁下载(最好用迅雷下载):
    http://www.chinavb.net/Software.asp?id=52
      

  9.   

    装SP6也一样啊还是不能显示UNICODE
      

  10.   


    在我的电脑是可以的。你是不是选择的控件 Microsoft Rich TextBox Control 6.0 (SP6) ?
      

  11.   

    看看这个,也许对你有帮助:http://download.csdn.net/source/1785343
      

  12.   


    有个简单的办法,你把你的串复制到“写字板”,然后存成xx.rtf,再用记事本打开xx.rtf,就可以在记事本里找到你的rtf串了(注意记事本里的串不是全有用)。
      

  13.   


    我看是你们关于"能否显示UNICODE"的标准定的不一样,所以都用SP6时你们的看法不同.比如说,楼主上个帖子里的法文字符串里,有个字符È,注意它的主体可是大写的E哦,这个东西用TXT文件形式读到RICHTEXTBOX里,可能就是变成主体是小写e的è,这个严格来说是对unicode支持不好,已经编码有损了(估计是被WINDOWS默认转为GBK里拼音字母e(四声)了.这种情况,chenjl1031要求不高的话,可能已认为是支持UNICODE编码的TXT文件了,其实严格来说是不对的.如用RTF文件载入,那个È则完全是正常读取的!!另外我比较了SP4和SP6版RICHTEXTBOX两控件在这方面的表现,暂没发现区别