2020-09-27 15:47发布
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
你好
我们正在编写ODBC客户端,并希望支持UTF-8并将UNICODE数据存储在NVARCHAR列中。
对于SQL绑定(参数/提取缓冲区),我们可以选择与UTF-8中的SQL_C_CHAR绑定(通过设置SQL_SQLDBC_CHAR_AS_UTF8),或将UTF-8转换为宽字符并与SQL_C_WCHAR绑定。
在客户端和/或服务器中进行最少的代码集转换的最佳方法是什么?
谢谢
我的理解是,SQL_SQLDBC_CHAR_AS_UTF8设置将ASCII字符映射到UTF8,因此您不必在应用程序中执行此操作。
由于您无论如何都想使用NVARCHAR类型,因此该设置甚至不会影响您的解决方案。 因此,SQL_C_WCHAR是这里的解决方法。
有线协议( https://help。 sap.com/viewer/7e4aba181371442d9e4395e7ff71b777/2.0.02/zh-CN/eda890ef05364286b52c92283eea804d.html )将所有数据作为CESU-8发送,因此当您将ASCII数据读入SQL_C_CHAR时,我怀疑总体转换工作最多。
此处注意:既没有看到ODBC驱动程序源代码,也没有对这些选项的cpu/内存效果进行测量。
谢谢Lars! 是的,我们将采用SQL_C_WCHAR的方式并使用iconv进行所需的转换。此处的兄弟讨论: https://answers.sap.com/questions/298273/need-help-with-iso8859-x- and-utf-8-programming-wit.html
Seb
最多设置5个标签!
我的理解是,SQL_SQLDBC_CHAR_AS_UTF8设置将ASCII字符映射到UTF8,因此您不必在应用程序中执行此操作。
由于您无论如何都想使用NVARCHAR类型,因此该设置甚至不会影响您的解决方案。 因此,SQL_C_WCHAR是这里的解决方法。
有线协议( https://help。 sap.com/viewer/7e4aba181371442d9e4395e7ff71b777/2.0.02/zh-CN/eda890ef05364286b52c92283eea804d.html )将所有数据作为CESU-8发送,因此当您将ASCII数据读入SQL_C_CHAR时,我怀疑总体转换工作最多。
此处注意:既没有看到ODBC驱动程序源代码,也没有对这些选项的cpu/内存效果进行测量。
谢谢Lars! 是的,我们将采用SQL_C_WCHAR的方式并使用iconv进行所需的转换。
此处的兄弟讨论: https://answers.sap.com/questions/298273/need-help-with-iso8859-x- and-utf-8-programming-wit.html
Seb
一周热门 更多>