njzh24 发表于 2013-07-04 14:17

sybase 中文显示乱码,求教.

sybase ASE 12.5 ,数据库字符集设置的iso_1,
1 ,用secure CRT 连接,在服务器上用isql 查询的时候, 中文显示乱码 (isql -Usa -S -P -Jiso_1)
2 ,在window 7 下用isql连接,也是乱码,
3 ,在window 7 下用toad 连接,也是乱码

这到底是个啥情况啊 ? secure CRT 的字符集要设置? windows 要设置环境变量?

njzh24 发表于 2013-07-04 14:30

第二条, 方才又测了一下, 命令行里用isql ,可以显示中文.

njzh24 发表于 2013-07-04 14:30

第二条, 方才又测了一下, 命令行里用isql ,可以显示中文.

andkylee 发表于 2013-07-06 10:17

第一条: 注意securecrt 属性》外观》字符编码;
第二条:应该没问题;
第三条:注意toad连接界面里面的charset属性

njzh24 发表于 2013-07-11 09:40

回复 4# andkylee
thank you very much。
2、secure crt 设置成GB2312可以显示中文了, (设成utf8 ,iso_1 乱码)
3 、 toad 里只能设成iso_1,显示乱码;设置成utf8,GB2312等其他字符集,会报错,字符不能转换

andkylee 发表于 2013-07-12 09:32

sp_configure "disable character set convers"什么结果?

andkylee 发表于 2013-07-12 09:32

本帖最后由 andkylee 于 2015-01-28 20:38 编辑

看看我的这篇博客:
使用第三方工具访问ASE表时汉字乱码问题的解决方法
http://www.dbainfo.net/ase-3rt-party-tools-illegal-chinese-words.htm


第三方工具连接ASE时,主要使用的接口方法包括:open-client 、ADO.NET和 jdbc。

第三方工具主要包括:
使用open-client接口的工具有:PowerBuilder、DBArtisan、Werysoft QweryBuilder等;WinSQL有自己的数据链接库,类似open-client方式;
使用jdbc接口的工具有:Aqua Data Studio、DbVisualizer、RazorSQL、DBeaver、DBArtisan 等;
使用ADO.NET接口的工具有:Toad for Sybase等;

解决方法:

使用open-client接口时,不需要将disable character set convers设置为1,仅需要在客户端工具中将显示字符集调整为服务器端字符集,可能有时候也需要调整一下显示的字体。
使用jdbc接口时,需要将disable character set convers设置为1,并在jdbc的连接串中将charset设置为cp936。

对于服务器端字符集为:iso_1且参数disable character set convers为默认值0的环境,可在jdbc连接串中添加:?SQLInitString=set char_convert off&charset=cp936

因此:

如果disable character set convers设置为1,两种类型的工具都可以使用。
如果disable character set convers为默认值0,那么建议使用open-client接口的工具。

以上情况适用于服务器端为iso_1,cp936等字符集的情况。

njzh24 发表于 2013-07-12 14:34

回复 7# andkylee
看了你的文章,解决了.非常感谢.

hhh518 发表于 2013-07-17 10:19

不错.学习中
页: [1]
查看完整版本: sybase 中文显示乱码,求教.