"OceanBase数据库中 这个是什么问题?字段乱码,其他的都没问题。
"
原因是 OceanBase Connector/ODBC 在建立连接时,如果没有指定编码,就会获取系统默认编码 UTF8 MARIADB_CHARSET_INFO *cs= mariadb_get_charset_by_name("auto");。
如果用户系统采用 UTF8 编码进行查询就没有问题,如果是 GBK 编码就无法显示 UTF8 编码数据。
解决方式是在连接建立成功后添加代码,指定读取的数据是系统的编码或者指定的编码,如下所示:
/*设置编码 */
MDBUG_C_PRINT(Connection, "--cs_name:%s", Connection->Charset.cs_info->csname);
if (mysql_set_character_set(Connection->mariadb, Connection->Charset.cs_info->csname))
goto err;
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。