很着急的关于字符显示乱码的问题, 乞望高手解决!
最近用Delphi 做了一个数据库管理系统,是支持中英文两种语言的版本,
软件运行环境 windows XP Professional
数据库为: MS SQL Server2000
Delphi: 的版本为 7.0
软件的中英文版本正常的运行在中文的XP(控制面板->日期、时间、语言和区域设置->区域和语言选项->区域语言页中 标准格式选择中文(中国),位置选择中国)系统下面是正常的没有问题,这个下面的所有的":"自动是中文的
但是运行在英文的XP(控制面板->日期、时间、语言和区域设置->区域和语言选项->区域语言页中 标准格式选择英语(美国),位置选择美国)下面,不管是中英文的版本,这个下面的":" 自动就变成英文字符了, 导致软件界面上面带有":" 的标题等等都不能正常的进行中英文转换, 还有这个英文操作系统下面运行中文版本程序的时候,所有GroupBox 下的Caption中的说明文字,都变成了乱码,软件功能中中读取的中文的文字都变成了"?"不可以识别, 导致软件不能正常的运行。
我系统的中英文界面的切换是通过配置文件设置的。 也就是说目前我程序代码中的中文字符不能正常的识别。
现在软件操作人员中有老外, 让把操作系统统计改成为中文的是不可能的了。
综合上述的问题,有什么办法解决? 从那个方面可以解决这个问题呢?
是修改软件中的字符,字体设置 还是要在机器中装入什么字符集呢? 谁遇到过这种问题, 恳请回答!
十分感谢!
[解决办法]
关注~!
[解决办法]
帮你顶下~
[解决办法]
遇到过....
把英文的XP(控制面板- >日期、时间、语言和区域设置- >区域和语言选项- >区域语言页中 标准格式选择中文(中国),位置选择中国
解决了..
不知道你的行不
[解决办法]
那你就写一个英文的呀!!!
[解决办法]
Windows的区域设置默认还做另一件事情:改变非Unicode应用程序的默认编码页,Delphi资源默认使用Ansi编码,如果你在中文环境下开发,那么编码对应GB2312的格式,这样你在地区设置为英文的地方使用,默认编码页为拉丁文或是英文,就会出现乱码。要解决这个问题,可以试试在区域设置里的[高级]页上,将[非Unicode应用程序]的语言设为简体中文。但这样对于其他语种的Ansi程序来说,也会造成他们的乱码。最好的解决方案是用Unicode程序,并且最好不要在资源中使用汉字(Delphi的设计时控件属性)。
[解决办法]
看了一下那个帖子,不知道那个TMSExcel是第三方控件还是原生的OLE组件,如果是原生组件的话,按说Excel内部处理都是按Unicode编码的,所以在Delphi程序中,从Excel内读数据时,应该用WideString接收,而不是string(AnsiString)。
如果是第三方控件就不好说了,用WideString试试看,如果不行的话,就是TMSExcel本身的问题了。
记住:在Delphi中使用OLE、ActiveX等组件的时候,存取字符属性或参数时,尽可能使用WideString,这样可以避免很多字符转换和乱码问题。
[解决办法]
英文操作系统下,装个中文语言包。
[解决办法]
装了后,可以正常显示中文。还可以输入中文。