DELPHI7用的是ANSI编码,这是和 *** 作系统的区域设置有关的,例如你是中文系统,那么你的字符集就是GBK
GBK虽然是中文字符集,但不代表就完全只有中文字符,它也有一定的外语文字,例如日文,但这是在GBK字符集环境下才能显示出的日文。假如是一个日本人在日文WINDOWS下用你的程序的话,他就会看到乱码(日文系统的字符集是SHIFT JIS)。因为同一个编码序号,在不同的字符集下,所对应的字符是不同的。这就是乱码产生的原因。
而UNICODE就是为解决这种地域问题而产生的 - 一个集全球最常见语言的最常用文字符号所组成的字符集。使用UNICODE的程序,无论在简体中文系统,繁体中文系统,日文系统,还是韩文系统下,都不会出现乱码,因为它的字符集是全球统一的。
但也不代表UNICODE能显示所有语言的所有文字,因为每个字符集的大小都是固定的,它不可能包含所有语言的所有文字,只能包含这些语言的最常用的子集。所以当你看到UNICODE下某个字显示不出来,也不用大惊小怪,尝试换种表达方式吧。
现在主流的开发工具都是基于UNICODE的,例如Visual Studio、Eclipse等。DELPHI7由于出现得比较早,所以编译的程序的字符串并不是以UNICODE的编码保存,开发环境也不是UNICODE的。只能通过某些特殊的控件来实现UNICODE功能(如常见的TNT控件)。
DELPHI从2003开始支持UNICODE,可以考虑升级到2007或2010,这是比较稳定的版本。当然也可以升级到最新的XE2、XE3。您好,这是因为ios系统软件和win系统软件兼容问题,您可以鼠标划到文件--鼠标右键--打开方式--其他--选择safari浏览器打开,肯定可以看的哦~另外,您以后mac打不开的文档都可以尝试用safari打开!Unicode也可称为统一码,为每种语言的每个字符设置了统一且唯一的二进制编码,以满足跨语言、跨平台进行文本转换处理的要求,然而,还是有不少程序并不支持该编码,这时就有必要设置非Unicode程序使用的语言编码了。像迅雷这样的软件就支持简体中文编码,而不支持Unicode,当设置了繁体的非Unicode就会出现乱码,同理,将非Unicode设置为简体后,很多不支持Unicode的繁体软件也会出现乱码。
其实,使用Windows 7的语言包补丁安装功能就可以顺利解决。
1安装合适的语言包
首先,要能安装多种语言包的Windows 7只能是旗舰版或者企业版,点击“开始-Windows Update”打开自动更新窗口
2、在窗口中点击“34个可选更新”链接,在可以下载安装的语言包列表中选择“繁体中文语言包”
3、回到刚才的窗口点击“安装更新”按钮开始下载安装
4、 安装完语言包补丁需要重启。重启的过程需要配置补丁。
5、安装完繁体中文语言后,还需要进行合理的配置。进入控制面板的“时钟、语言和区域”选项,选择“管理”选项,将“非Unicode程序中所使用的当前语言”设置为“中文简体“
6、该设置需要重启计算机。安装所有的简体软件,比如:迅雷、QQ等,这时这些软件的乱码已经消失了。而且系统界面已经变成了繁体中文的了
8、如果以后日常使用的软件较多是繁体的,可以再次通过“时钟、语言和区域”选项将“非Unicode程序中所使用的当前语言”设置为“香港繁体”。再次重启系统后即可设置完成了。这时就可以正常安装使用繁体中文软件,以后再次安装简体中文软件需重新设置“非Unicode程序中所使用的当前语言”为简体中文。楼上的这位你干过C#没?
那上面写的很清楚,string userid=你还问userid是怎么定义的,这明显不是数据类型的事,
我觉得是你这句有问题:
string sql = "select UserName from Users where UserID='0'";
应该是:
string sql = "select UserName from Users where UserID={0}";
这样吧。占位符。可以试试看,如果userid在数据库里不是数字,那就
string sql = "select UserName from Users where UserID='{0}'";试试。
实在不行就不要用占位符了 直接拼串:
string sql = "select UserName from Users where UserID="+userid;
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)