我正试图找到一种方法来指示ODBC驱动程序 - 数据直接ODBC使用win1251进行客户端会话。
“使用指南”中提到的方法有:
但据我所知,选项1和3不适合ODBC驱动程序,选项2我也无法使用 - 因为我使用SAS而且这个引擎不允许我执行手动编辑的SQL - 它使用了很多自动代码生成。
我在postgresql.conf文件中尝试过选项client_encoding,而且我已经厌倦了在psql管理会话中执行follow clommand:alter user sasuser SET client_encoding to WIN1251;
但没有任何改变 - 默认情况下客户端编码仍然是UTF8
...
目前在Datadirect ODBC.ini文件中我有跟随字符串:
IANAAppCodePage=2251
有人可以帮帮我吗?
答案 0 :(得分:2)
这绝对可以解决问题:
ALTER USER sasuser SET client_encoding TO WIN1251;
只有剩下的解释可以是:
client_encoding
被明确设置为另一个值。要查找,请设置log_statements = all
,重新加载服务器群集,使用用户不友好的工具启动会话,并检查数据库日志,是否以及实际传达给服务器的内容。
不要忘记重置log_statements
,否则您的日志文件会变得庞大。
或者只是 Datadirect ODBC.ini
中的拼写错误:
IANAAppCodePage=2251
那应该是1251?
不。 IANAAppCodePage MIBenum 2251
代表“WINDOWS_1251”。那不是它。