如何在VB文本控件中能够输入国际化字符,包括具有注音符号的字符。注音符号放置在字母的上方、下方或覆盖其上,表示该字母与未加标记的字母发音不同。最常用的注音符号有:抑音符(à  中的  `)、尖音符(á  中的  ´)、母音符(â  中的  ^)、鄂音符(ã  中的  ~)、母音变化符(ä  中的  ¨)、圆音符(å  中的  °)和(ø  中的  /),有些在这里还不能显示出来。如C,S上面有第三声的。虽然用Richtextbox可以输入,但是当它与数据库联接时就不能正确转化。还有没有办法解决啊,请高手赐教。为中文操作系统,能够同时输入中文与拉丁文,俄语。

解决方案 »

  1.   

    richtextbox可以输入多国语言,但VB中以unicode来处理,到输入数据库时又会被转成ansi的当前系统编码,所以不能正确处理其他的语言.因此你要做的就是,让输入数据库时也要保持为unicode或者utf-8的编码.至于要实现这一步,则是相当麻烦的.在以前的贴子中已经有相当部分的解释.请查找一下.还有许多可用的类或者模块可以直接用的.
      

  2.   

    以前说过,必须要自建的Unicode文本框才可以显示
      

  3.   

    如何自建Unicode文本框?谁有这个现成的源码或控件吗?多谢!
      

  4.   

    用.TextRTF属性存数据库就可以了吧
    读写都方便
      

  5.   

    既然用Richtextbox可以输入和显示
    用.TextRTF属性也肯定可以存到数据库到底还有什么问题……
      

  6.   

    用Richtextbox可以输入但不能显示!
      

  7.   

    不清楚你是怎么实现输入的我试了下~
    把IE里的字符直接复制到Richtextbox里
    显示的是问号把Word或者字符映射表里的字符复制到Richtextbox里
    就显示正常
    但对应的textRTF却又不一样只看得出来从字符映射表复制过去的字符是按unicode存的
      

  8.   

    输入法里添加其它输入法这样就可以直接在Richtextbox里输入西文字符的.现在就是怎样自建一个unicode文本控件?
      

  9.   

    我把下面这个页面的表6.3里的各种字符拷进Word然后再贴到Richtextbox里都可以正常显示
    但直接输入的时候总还是有些字符显示为问号
    http://www.i18nwithvb.com/chapters/Chapter06_sc.htm要自建一个unicode文本控件得子类化处理大量的输入输出事件,很麻烦的……正如那个Chapter 6里面说的:『围绕着VB的Unicode支持存在着许多问题』
    现在解决国际化问题最简单和最好的办法就是用VB.Net……
      

  10.   

    另外~
    就是这本书
    http://www.i18nwithvb.com/我没有看过
    但应该对你这个问题有帮助
    买得到的话倒是可以看看