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

如果我写'é'从.NET程序到数据库的字符,它显示为'Õ' (DB管理工具中的大写字母O)。

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

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

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

感谢您的帮助。

使用Sybase ASE 12.5

编辑

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

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

有帮助吗?

解决方案

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

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

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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top