如何查找数据库使用的字符集

时间:2008-10-30 05:50:40

标签: character-encoding sybase-ase

我可以从.NET程序(使用ODBC)或通过数据库管理工具(用Java编写)访问数据库。

如果我从.NET程序向数据库写一个'é'字符,它在数据库管理工具中显示为'Õ'(带有代字号的大写字母O)。

如果我从数据库管理工具向数据库写一个'é'字符,它在.NET程序中显示为'Å'(带有圆圈的大写字母A)。

我并没有试图真正解决问题(即两个程序都显示相同的东西),尽管这样会很好。我只是想猜测每个用于解释数据的字符集,以便我可以自己进行转换,如果我使用.NET转储数据并使用该工具重新输入它。

那么,2个字符集的哪个组合会产生上述字符不匹配?

感谢您的帮助。

使用Sybase ASE 12.5

编辑

编辑:基本上问题是:你知道一个字符编码,其E9代码点代表字符'Õ'(带有代字号的大写字母O)或'Å'(带有圆圈的大写字母A)最佳)? (这假设其中一个使用拉丁语1,因此E9,我认为很可能)

编辑:保罗的解决方案就是这样做的。关于charset的答案是:hp-roman8

1 个答案:

答案 0 :(得分:4)

如果服务器和客户端上使用了不同的字符集,Sybase会自动尝试进行转换。如果您使用

关闭自动字符集转换
set char_convert off

你还得到同样的'Õ'和'Å'吗?