我有一个9.0 postgres服务器实例和一个使用带有German_Germany.1252排序规则的UTF8字符编码的数据库。我试图在客户端上获取我的libpq错误消息作为US-ASCII字符串。为此我做了:
PQsetClientEncoding(连接,“SQL_ASCII”);
它不会返回任何错误。但是,从PQerrorMessage()返回的字符串似乎仍然是UTF8
PQerrorMessage 始终的返回值是否保证为UTF8?无论客户端/服务器设置如何?
答案 0 :(得分:1)
SQL_ASCII
作为客户端编码工具,按原样传递字节,这正是您不想要的。实际上没有任何客户端编码只对应于ASCII。如果您的邮件是德语,那么您可能需要LATIN1
或LATIN9
等设置。否则将语言更改为英语,无论如何消息都将以ASCII格式显示。