如何将Unicode字符串转为Ansi/MBCS字符串(含中文字符的)
我在OLEDB中从数据库中得到一个字段值,可惜是Unicode字符串(内含中文)
我想将其显示在编辑框中,但是为乱码,于是用wcstombs()函数进行相应的转
换,但是不能成功,英文字母倒是可以,用WideCharToMutiChar()API也不行
,天,我究竟要用什么方法才将其转为ANSI/MBCS字符串呢?
(环境:W2k,vc6)
我谢谢各位了!
问题点数:100、回复次数:8Top
1 楼joke100(咱们去SLEEP吧...)回复于 2002-08-30 20:14:03 得分 0
对于WCHAR*才可能使用上述方法。
看看你的数据库字段得到的是什么类型的?Top
2 楼ddkc_c(ddkc_c)回复于 2002-08-30 20:24:42 得分 0
我把记事本中的(Unicode)文本二进制数值跟从数据库中得到的对比
真的是Unicode字符.
我该用什么方法做转换?Top
3 楼coppermine(coppermine)回复于 2002-08-30 20:34:57 得分 80
试一下:
USES_CONVERSION;
W2A(BSTR);Top
4 楼ddkc_c(ddkc_c)回复于 2002-08-30 20:43:52 得分 0
谢谢,不过我想问一下,W2A是怎么知道我要转换的一定是 简体中文呢
Unicode字符编码中是不是同时包含简体中文和繁体中文两种编码呢?Top
5 楼joke100(咱们去SLEEP吧...)回复于 2002-08-30 21:15:30 得分 20
繁体即big5有两种,一种是台湾定义的,等同于大陆定义的字符编码标准。
大陆原来使用的标准是gb2312,后来又增加了繁体部分,于是便有了扩展的gb,即gbk编码。
unicode意图做成各国文字的并集,所以是包含二者的Top
6 楼ddkc_c(ddkc_c)回复于 2002-09-02 12:46:34 得分 0
Thanks
coppermine 的方法一试就灵,看来字符串转换宏下的秘密还不少
我以为API函数不行,字符串转换宏就也不行的,嘿?!
问题已经解决,散分。
以后我要进行字符串转换,就用宏好了。
Top
7 楼ddkc_c(ddkc_c)回复于 2002-09-02 12:53:20 得分 0
W2A有好多版本,我的Unicode不是BSTR类型的,无长度前缀,
但用W2A依然能转换,我都不知在什么时候用什么版本了!!!!
以后再研究了...Top
8 楼blackbeam(blackbeam)回复于 2003-05-08 16:46:48 得分 0
w2a是windows api,我是在RedHat Linux上,要用哪一个函数进行ASC到Unicode的转换呢?Top





