Postgres API函数返回值的字符编码?

时间:2011-04-13 09:58:13

标签: postgresql unicode utf-8 character-encoding ascii

我有一个9.0 postgres服务器实例和一个使用带有German_Germany.1252排序规则的UTF8字符编码的数据库。我试图在客户端上获取我的libpq错误消息作为US-ASCII字符串。为此我做了:
    PQsetClientEncoding(连接,“SQL_ASCII”);
它不会返回任何错误。但是,从PQerrorMessage()返回的字符串似乎仍然是UTF8 PQerrorMessage 始终的返回值是否保证为UTF8?无论客户端/服务器设置如何?

1 个答案:

答案 0 :(得分:1)

SQL_ASCII作为客户端编码工具,按原样传递字节,这正是您不想要的。实际上没有任何客户端编码只对应于ASCII。如果您的邮件是德语,那么您可能需要LATIN1LATIN9等设置。否则将语言更改为英语,无论如何消息都将以ASCII格式显示。