postgresql - 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,从而
ö
变为ö
. 我的问题是我在这里缺少什么..
解决方案
推荐阅读
- java - 我在连接和读取 BLE 设备时遇到问题
- java - 尝试将 LauncherImpl 用于预加载器时 JavaFX/Intellij 设置出现问题
- firebase - 使用 Firestore autoID 在 Flutter 中检索和显示数据
- javascript - 在 three.js 中使用 BufferGeometry 创建一个具有不同颜色边的框
- c# - 验证过程中如何清理 SimpleInjector 创建的实例?
- phpstorm - 无法在 PhpStorm 中运行 Xdebug,连接被拒绝 - 可能是由于端口 9000 未打开或未转发
- c# - C#:安全地遍历嵌套属性而不会出错
- audiokit - Swift - 带有振荡器的 AudioKit 音序器(AKOscillatorBank). 频率不会在更高的范围内播放(MidiNote 120+)
- python - 在 Kubernetes 集群中使用 Python 设置 Prometheus
- javascript - 使用数组防止基于值的if语句