0

我有一个 UTF8 编码数据库。我正在使用 ECPG - 程序 C。

当我使用 EXEC SQL 获取数据记录集时

 EXEC SQL DECLARE cur_myTable CURSOR FOR
     SELECT code,
            label
     INTO  :hv_cod,
           :hv_label
     FROM  myTable

但我在 pgc 文件中打印数据,

printf("\n libellé => %s", :hv_label ), I get:

我得到:

libellé => télé.

是否可以在程序 C 中将主机变量 UTF8 解码为 ISO-8859-1?是否可以在 .pgc 文件中说:Postgres 我想要 UTF8 解码值?

谢谢

4

1 回答 1

4

是否可以在程序 C 中将主机变量 UTF8 解码为 ISO-8859-1?

当然,很多图书馆都这样做。看看libiconv例如。

是否可以在 .pgc 文件中说:Postgres 我想要 UTF8 解码值?

微不足道。设置client_encodingiso-8859-1或任何您的本地编码。您可以使用 libpq 函数来做到这一点;ecpg 可能有自己的等价物,不确定。

于 2014-04-18T08:50:21.287 回答