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

Lau*_*ent 4 character-encoding sap-ase

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

\n\n

如果我从 .NET 程序向数据库写入 \'\xc3\xa9\' 字符,则它在数据库管理工具中显示为 \'\xc3\x95\'(大写 O 带波形符)。

\n\n

如果我从数据库管理工具向数据库写入\'\xc3\xa9\'字符,它在.NET程序中显示为\'\xc3\x85\'(大写A,顶部有一个圆圈)。

\n\n

我并不是想真正解决问题(即让两个程序显示相同的内容),尽管那会很好。我只是想猜测每个字符集使用哪些字符集来解释数据,这样如果我使用 .NET 转储数据并使用该工具重新输入数据,我就可以自己进行转换。

\n\n

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

\n\n

感谢您的帮助。

\n\n

编辑:使用Sybase ASE 12.5

\n\n

编辑:基本上问题是:您是否知道一种字符编码,其 E9 代码点表示字符 \'\xc3\x95\' (带有波形符的大写 O)或 \'\xc3\x85\' (带有一个圆圈的大写 A顶部)?(假设其中一个使用拉丁语 1,因此使用 E9,我认为很有可能)

\n\n

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

\n

小智 5

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

\n\n
set char_convert off\n
Run Code Online (Sandbox Code Playgroud)\n\n

您仍然得到相同的“\xc3\x95”和“\xc3\x85”吗?

\n