首页 > 解决方案 > postgresql odbc 未将 utf8 正确存储到 json/jsonb 列中

问题描述

我在我的应用程序(客户端)使用 odbc,试图将 utf-8 编码字符列表插入 postgresql json 列。我正在使用 postgresOdbcUnicode 驱动程序 V11.1。在服务器端,srvEncoding 和 clientEncoding 都设置为 UTF-8。应用程序中的 odbc 绑定代码是:

SQLBindParameter(hstmt, ordinal, SQL_PARAM_INPUT, SQL_C_CHAR, SQL_CHAR, columnSize, 0/*decimalDigits*/, valuePtr, 0/*bufferLength*/, strLen_or_indPtr);

但是,存储的实际内容是加扰的:例如,ö存储为ö. 看起来 postgres srv 中的驱动程序或其他东西将我的输入字符串视为 win1252,并将它们转换为 UTF8,从而 ö变为ö. 我的问题是我在这里缺少什么..

标签: postgresqlutf-8odbc

解决方案


推荐阅读