资料显示问题 我在繁体系统里面建的数据库,现放在简体系统里,在表里输入简体资料,有的会带出问号?怎么解决? 例如:"客户编号"显示为"?客???"如果直接在简体中建立的就不会。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 http://dev.cbw.com/delphi/database/200510195305_4290052.shtml 这个问题有很多种解释和说法1、首先从根本上讲:为什么繁体建的库在简体下用?2、是一个库要在简体繁体下同时用吗,那么你的用SQL2005或者Oracle,SQL2000在实现这方面还是有点麻烦的,Access2000反而可以搞定,因为它是以UNICODE格式保存的3、如果是单库单语言,那就无所谓了,在简体下重建库即可,一直在繁体下使用4、如果你单库多语言,那么必须得在显示的时候进行繁体简体转换了,这个难度不到,就是影响系统效率,而且如果一个字段中同时有简体和繁体那转换是一件相当恐怖的事总之:实际解决方案1、采用支持UNICODE的数据库,譬如Access2000以上2、限制单库单语言,简体库就在简体下使用 可以参考:http://community.csdn.net/Expert/topic/4886/4886915.xml?temp=.6170923最近在做一个软件项目,要支持多国语言(简 繁 英 日)。大家知道delphi的VCL是不支持UNCODE字符编码的。必须重写,下载了Tnt Controls 控件可以解决问题。但自己研究了一下发现更简单的方法:只解决了label 控件,但不知道 edit 控件如何解决,请教?label 支持 uncode 编码:...Tlxj3DLabel = class(TGraphicControl)privte ... FCaption:WideString; procedure SetCaption(Value:WideString); ...protected ... procedure Paint;override; ...published ... propetry Caption : WideString read fCaption wirte SetCaption; ...procedure lxj3DLabel.SetCaption(Value:WideString);begin fCaption:=Value; RePaint;end;procedure lxj3DLabel.Paint;var WS:WideString;begin ... WS:=fCaption; TextOutW(Canvas.Handle,X,Y,PWideChar(WS),Length(WS)); ...end;基本原理,从TGraphicControl派生出新的lxj3DLabel控件,用WideString类型取代fCaption以前的String类型;覆盖Paint方法,用TextOutW函数取代TextOut函数,直接从 uncode 编码页输出字符。以上VCL在任何语言的windows版本下,都不会显示乱码。label的uncode问题解决了,请教各位 edit 的 uncode 问题如何解决了??? 请问delphi创建MDI程序的菜单怎样一次性改成中文? 读取MEMO里面每行内容出问题了,循环不下去,高手看下 copy的用法,在线等待 实现银行卡结帐这个功能,大概要多少钱? 请问怎么实现XP下IE的那种带倒角的浮动按钮? 关于变体函数不能使用的问题 菜鸟求救:一个Pakage(*.DPK)工程编译后怎么不见.bpl文件? 一个小问题,请大家帮忙! 如何动态生成一个窗口??? 请问各位如何检验一个字符串是否是时间类型的? 高难度问题:如何让Panel控件透明,并且有atuoscroll属性 程序员兄弟们,我们以后的路在何方?
总之:实际解决方案
1、采用支持UNICODE的数据库,譬如Access2000以上
2、限制单库单语言,简体库就在简体下使用
大家知道delphi的VCL是不支持UNCODE字符编码的。必须重写,
下载了Tnt Controls 控件可以解决问题。但自己研究了一下发现更简单的方法:
只解决了label 控件,但不知道 edit 控件如何解决,请教?label 支持 uncode 编码:...Tlxj3DLabel = class(TGraphicControl)privte
...
FCaption:WideString;
procedure SetCaption(Value:WideString);
...
protected
...
procedure Paint;override;
...
published
...
propetry Caption : WideString read fCaption wirte SetCaption;
...procedure lxj3DLabel.SetCaption(Value:WideString);
begin
fCaption:=Value;
RePaint;
end;procedure lxj3DLabel.Paint;
var
WS:WideString;
begin
...
WS:=fCaption;
TextOutW(Canvas.Handle,X,Y,PWideChar(WS),Length(WS));
...
end;基本原理,从TGraphicControl派生出新的lxj3DLabel控件,
用WideString类型取代fCaption以前的String类型;
覆盖Paint方法,用TextOutW函数取代TextOut函数,直接从 uncode 编码页输出字符。以上VCL在任何语言的windows版本下,都不会显示乱码。label的uncode问题解决了,请教各位 edit 的 uncode 问题如何解决了???