Combo_Box组件字符显示问题!急急急
我从数据库中提取某一字段信息显示在Combo_Box组件中,信息能够提取出来,但显示时显示的是乱码
如果我在程序中直接给这个组件赋一个汉字,运行程序显示时也是乱码
比如我赋一个‘丛’,显示时显示数据
请问是什么原因,希望尽快得到您的帮助
问题点数:20、回复次数:13Top
1 楼Lonelywolf1899(プログラマ)回复于 2005-01-24 09:22:22 得分 2
可能要设置字体吧Top
2 楼samchoy(老蔡)回复于 2005-01-24 09:31:35 得分 2
应该是字体的问题
改成 宋体,CHINESE_GB2312字符集 试试
Top
3 楼hqxiaoying(小颖)回复于 2005-01-24 10:07:10 得分 0
还是不行,我跟踪了一下程序,在程序中提示的结果就是乱码,用户名在oracle8i中定义为varchar型,在程序中变量定义string型,有冲突吗?
以下是我提取显示的程序代码段
sprintf(yhm_sql,"select username from tbl_user");
ADOQuery_yhm->SQL->Add(yhm_sql);
ADOQuery_yhm->Active=true;
Combo_yhmc->Clear();
while (!ADOQuery_yhm->Eof)
{
a_Yhm = ADOQuery_yhm->Fields->Fields[0]->AsString;///这时显示的就是乱码
//a_Yhm = "shaoying";
Combo_yhmc->Items->Add(a_Yhm);
ADOQuery_yhm->Next();
}
ADOQuery_yhm->First();Top
4 楼samchoy(老蔡)回复于 2005-01-24 11:28:34 得分 2
别的表会乱码吗?是不是加密了?
不懂oracle,乱说的Top
5 楼wys512()回复于 2005-01-24 13:02:16 得分 5
组件里面都有字体属性(好象是charset?一般默认是default),你换一个看看?Top
6 楼tiger_hs(tiger)回复于 2005-01-24 13:22:45 得分 2
如果我在程序中直接给这个组件赋一个汉字,运行程序显示时也是乱码>
我认为与数据库无关,可能是你的操作系统的字符集有问题.(乱想的)Top
7 楼hqxiaoying(小颖)回复于 2005-01-24 15:18:13 得分 0
我在好几台机器上都试过了,也都是这样呀Top
8 楼jaccheu(我在故你快乐)回复于 2005-01-24 16:02:03 得分 5
在程序中变量定义为AnsiString即可Top
9 楼jaccheu(我在故你快乐)回复于 2005-01-24 16:05:11 得分 2
补充:我在BCB6里取Access数据是OK的Top
10 楼hqxiaoying(小颖)回复于 2005-01-24 17:04:41 得分 0
我定义的变量就是AnsiString型Top
11 楼jaccheu(我在故你快乐)回复于 2005-01-24 17:24:10 得分 0
cboCPU的字体设置:
字体:宋体
字性:常规
大小:小五
字符集:chinese_gb2312
我的代码如下:
while(!adoqParts->Eof)
{
cboCPU->Items->Add(adoqParts->FieldByName("Description")->AsString);
adoqParts->Next();
}
很正常Top
12 楼hqxiaoying(小颖)回复于 2005-01-25 08:41:11 得分 0
请问jaccheu(jac)
你用的是什么数据库,是ORACLE数据库吗
Top
13 楼hqxiaoying(小颖)回复于 2005-01-27 10:35:41 得分 0
谢谢各位的帮助,我上一次用的是ORACLE7,现在我改为ORACLE8了,问题就解了Top




