有一个俄文的txt,编码是ANSI的。
现在我想把内容读出来显示在编辑框中。
自己试了一些方法,可就是不能正确显示。
哪位好心人指点一二,感激不尽!

解决方案 »

  1.   

    想办法转换成 UNICODE 格式,然后就可以显示了。
      

  2.   

    1、要知道俄文的编码页是多少
    2、转成unicode
    3、你的项目最好是unicode的。
      

  3.   

    转成UNICODE最容易,应要用ANSI也行,存储全用CStringA,或者char *,最后用CString构造函数转成CString显示,或者用函数直接传进text框,我做加解密算法,处理多国语言文字就是这样的
      

  4.   

    MultiByteToWideChar、WideCharToMultiByte
    就这两函数倒来倒去。ANSI、UNICODE、UTF-8 文件编码转换 
    http://blog.csdn.net/DavidHsing/archive/2008/11/17/3317841.aspx
      

  5.   


    我也是要处理多国语言,不只是俄文。能再具体点说说吗,给个大概的思路。我的工程是UNICODE的,用ReadFile读文件进缓存,然后用MultiByteToWideChar,再用SetDlgItemText试图在TEXT框里,但是总是不能正确显示。
      

  6.   

    通用 MFC 数据类型       映射到 ASCII   映射到 UNICODE    注释 _TCHAR                char          wchar_t         _TCHAR 是一个映射宏,当定义 UNICODE 时,该数据类型映射到 wchar_t,如果没有定义                                                          UNICODE,那么它映射到 char。
     
    _T 或 _TEXT           char 常量字符串 wchar_t         常量字符串 功能与宏相同,在 ASCII 模式下,它们被忽略,也就是说被预处理器删除掉,但                                                         如果定义了UNICODE, 则它们会将常量字符串转换成等价的 UNICODE 。
     
    LPTSTR char*,        LPSTR(Win32)   wchar_t*         可移植的32位字符串指针。它将字符类型映射到工程设置的类型。
     
    LPCTSTR const char*, LPCSTR(Win32)  const wchar_t*   可移植的32位常量字符串指针。它将字符类型常量映射到工程设置的类型。 
      

  7.   

    就是转来转去, multibyte, widechar...
      

  8.   


    能详细说一下吗?我就是用MultiByteToWideChar来转,但是没有成功,无法正确显示
      

  9.   


    你读入的字符是什么字符阿?这要进行确认!
    另外,你的工程是unicode工程,这个时候你读入的要是unicode吗的话就不用用MultiByteToWideChar了。用了反而会出错。
    你不能说出可能是你因为unicode的开头位为0。
    你找夏是不是有SetDlgItemTextW函数。这个函数可以输出unicode字符。SetDlgItemText这个函数如果你的工程是unicode工程的话也可以输出unicode字符的。
    但是好像你要导入对应的字符集!
      

  10.   


    关于读入的字符“俄文的txt,编码是ANSI的。 ”,读入的是ANSI字符。不能显示有可能是你说的字符集的问题,可是我不会弄字符库,可以详细说一下怎么导入吗?
    谢谢!
      

  11.   

    用记事本打开,另存为Unicode,再读就行了,哈哈!
      

  12.   

    谁知道怎么取系统的CODEPAGE?
      

  13.   

    查看当前系统的local ID。GetSystemDefaultLCID()
      

  14.   

    谢谢!
    我用的GetLocaleInfo也取到了。