4

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

如果我从 .NET 程序将“é”字符写入数据库,则它在数据库管理工具中显示为“Õ”(带有波浪号的大写 O)。

如果我从 DB 管理工具向数据库写入一个“é”字符,它在 .NET 程序中显示为“Å”(大写 A,顶部有一个圆圈)。

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

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

谢谢你的帮助。

编辑:使用 Sybase ASE 12.5

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

编辑:保罗的解决方案做到了。关于字符集的答案是:hp-roman8

4

1 回答 1

4

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

set char_convert off

你仍然得到相同的“Õ”和“Å”吗?

于 2008-10-30T11:25:07.537 回答