当前位置:主页>销售管理软件> 列表

关于数据库内容在WinXP下的中文显示问题 找速达财务软件

财务软件版1楼: [red]
正常环境:
Win2000/xp 中文版,Access2000,Delphi 7 编译;
Ado 连接;ADOQuery;

中文显示有问题的:
Windows XP 英文版。
描述:
Windows XP英文专业版 + sp2;
语言设置中已经设好非Unicode 软件显示中文Chinese RPC,像金山词霸、万能五笔都没问题;
试以下操作:
1.用Office-Access打开数据库文件,发现其表中记录里面的中文显示正常;
2.打开自己编的程序,发现DBedit、DBGrid中显示的一条记录的字段内容全部为问号了……

3.用程序新增一条记录,在 DBEdit 中输入中文并保存,可以正常显示;
4.用Office-Access 打开数据库文件,发现新增的记录(在程序中可正常显示的)内容在这里又变成了乱码……

这样,我在别的电脑里输入的数据库在这个英文的XP环境中全部看不到了,又要重新输入一遍,有没有高手知道原因,指点一下?我也在英文XP中装了Delphi7,并重新编译,也没有用…



[/red]

2楼: 朋友们,帮我看一看啊!分不够可以加,大家探讨一下 如财务软件有哪些

3楼: 原因我不知道,但是我也遇到类似情况,如下:


win2000下,选定内部按ctrl+c复制,粘贴后汉字全部变成问号,但是如果把紫光输入法打开,然后再按ctrl+c复制,粘贴又正常了。
希望这个信息能给楼主一些提示。

4楼: 数据工人:
苦恼,不管如何复制,在Access 表中显示都是正常,但用程序显示就是问号…
用程序新录入的内容,在程序界面显示是正常的,在Aceess 中打开又是乱码。

5楼: 是ADO 的问题。用的是 Microsoft Jet OLE DB 4.0来连接的。

如果改用BDE 的话,就没有这个问题。
难道用ADO的话就真的没有解决的办法吗?

6楼: 再坚持顶一下…希望有高手出手相助

财务软件版7楼: “语言设置中已经设好非Unicode 软件显示中文Chinese RPC”,就是说你已经把 Ansi“字
符集”设置为了中文,但活动代码页的另一项是“键盘代码”设置,你可以尝试在托盘图标
的边上,把那个键盘样子的图标设置为“CH 中文”。

这个问题不太好弄,原因是字符集要设置、键盘代码要设置、还要程序中对使用的字体要
设置。三项中只要有一项出问题,不是这里乱码就是那里乱码。所以建议直接使用TNT控件
做Unicode环境的界面。

另外,由于 Access2000 直接支持 WideString ,即便设置好了上面三项,存入 access 里
的可能还会是乱码,我没有这么仔细地去测试,只是这么猜:Access2000 是检查操作系统


是否支持 unicode ,如果支持,它内部全部使用 WideString 函数,这样的话,进入 Acc
ess的 Ansi 文本将被强制转换为 Unicode,如果 Access2000 能够支持活动代码页的话,
这个转换应该没有问题,但如果它不支持活动代码页的话(现在大多数支持 Unicode 的程
序已经开始放弃做为过渡间段的活动代码页支持了),这个转换将依旧按照系统的Unicode
环境进行字符转换,比如中文,它会把一个中文分开成2个8位的ASCII再转换为Unicode结果
就成了乱码(中文字符不需要再分解、也不需要再转换才对)。

http://www.delphibbs.com/delphibbs/dispq.asp?lid=3349991

8楼: 看看DBEDIT1的FONT属性,找charset选项。如果设正确的话,应该可以解决

9楼: 感谢各位一同探讨这个问题。
不可否认用 ADO 连接Access 数据库是一个比较简单的方法,也很实用,所以我没有放弃探索这个问题。

很奇怪的是,我在英文版操作系统+Delphi7 编程环境里面,用一个DBgrid 控件来直接显示Access 数据库表中的内容,做如下测试:

1. 如果我用以前的 ADOConnection + ADOQuery + Datasource ...的话,DBGRID 显示的内容汉字部分就是问号。。。注意是在编程环境,不是运行。说明和 Charset 之类的无关。
2. 如果用 ODBC + BDE 面板中的 Query 控件(作为Dataset) + Datasource + DBgrid。。。这时 DBgrid 中的内容显示汉字部分完全正常了!

楼上大侠,请分析一下是不是 Jet 4.0 Privider 的问题呢?

10楼: 在所有中文版操作系统下都可以,但是英文版的操作系统下就是不行。相当着急。

11楼: 这是开发环境与运行环境不一致所造成的。
你多换到其它的操作系统上执行试一试,可能就没有这个问题。
技术支持QQ:136293586

12楼: 可是我已经将所有文件移到英文版的操作系统下编译执行,还是出现上述问题啊。 如工程档案管理软件

13楼: 我觉得这有可能是WINDOWS里面的一个问题。
我记得我的老师有跟我们提过一个类似这样的问题
他是拿记事本出来做实验的。
结果也跟你这里面有点类似
但具体实验步骤我以经忘记了。
[:(]

财务软件版14楼: 初步发现,用Delphi 6的ADO不会有这个问题。晕。不过D7的程序放到 D6下面就问题很多了。

15楼: 在edit中选择字体

16楼: zj_mpy,没用的啦,这些动作都试过了。

17楼: Delphi 7 有什么可以设置的吗?在英文版的操作系统下,就算我新建的一个程序,用ADO 连接的数据库显示中文都有问题(显示原数据库中的内容),如果新录入的纪录可以正常显示中文,则用MS ACCESS 打开,相应的纪录就是乱码。所以和以前的开发环境无关,一定的D7 还有 Windows 的问题.



Windows的区域和语言选项已经将相关设为简体中文了。

18楼: 我现在也遇到这个问题了...
解决方法是:我们的开发环境和用户的运行环境必须一致.
具体设置:Windows的区域和语言选项 ,都设成简体中文

19楼: 是的。不过对于D7来讲,我都是在 英文版 Winxp 下开发和运行,怎么搞都不行。

同样的环境, D6 可以。

20楼: 或许是盗版的问题,试试用正版windows xp操作系统如何

财务软件版21楼: 哈哈!楼上怎么知道我用的是盗版XP啊!

我用的千真万确是正版XP.

22楼: 最后还是用Delphi 6 做了一遍,相当郁闷。散分啦。 如速达财务软件

23楼: 倘若谁能根本上回答该问题,再单独另送200分!