如何使用 SQLAPI++ 从 SQL 服务器读取 unicode 字符?

Posted

技术标签:

【中文标题】如何使用 SQLAPI++ 从 SQL 服务器读取 unicode 字符?【英文标题】:How do I read unicode characters from SQL server using SQLAPI++? 【发布时间】:2021-04-02 17:15:00 【问题描述】:

我正在使用 SQLAPI++ 构建需要访问数据库的后端应用程序 (SQL Server 2014)。当我尝试从包含非 ascii 字符(特别是波斯字符)的结果集中读取字符串 (nvarchar(50)) 时,cmd.Field("MyField").asString().GetxxxChars() 方法都返回问号 (?) 而不是这些字符。 我该怎么办?

我也尝试了asBytes()asLongChar() 并得到了相同的结果。

【问题讨论】:

【参考方案1】:

所以我发现了问题!

我正在链接 sqlapis.lib。我检查了this link,发现我应该使用 sqlapius.lib 来代替 unicode 支持。我还需要定义 SA_UNICODE。

它现在工作正常。

【讨论】:

以上是关于如何使用 SQLAPI++ 从 SQL 服务器读取 unicode 字符?的主要内容,如果未能解决你的问题,请参考以下文章

Flink基础(十三):Table API 和 Flink SQLAPI 调用

Cosmos db 使用 Java SDK 部分更新 SQL api

Cloud Spanner 读取与 Cloud Spanner SQL API

CosmosDB 连接 (SQL API)

数据湖(十八):Flink与Iceberg整合SQL API操作

数据湖(十九):SQL API 读取Kafka数据实时写入Iceberg表