qt5.6.1读取oracle8中文数据乱码

qt通过odbc连接oracle,在tableview上显示数据库数据时时乱码,有什么解决办法

可以试下这几个办法,有用的话望采纳谢谢

  1. 设置数据库编码为 UTF-8:在连接数据库的时候设置 NLS_LANG 环境变量为 "American_America.UTF8"。

  2. 设置 QTextCodec:在代码中使用 QTextCodec::setCodecForLocale() 函数将本地字符集设置为 UTF-8。

  3. 在数据库查询时设置 NLS_LANG:使用下面的 SQL 语句设置 NLS_LANG:

ALTER SESSION SET NLS_LANGUAGE='AMERICAN';
ALTER SESSION SET NLS_TERRITORY='AMERICA';
ALTER SESSION SET NLS_CHARACTERSET='UTF8';
不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^

可以试试这篇文章里面提到的几个方法:https://blog.csdn.net/weixin_39765290/article/details/116317916

在Qt中连接Oracle数据库,并显示乱码的情况,可能是由于编码问题所引起的。您可以尝试在ODBC连接属性配置页面中修改“字符集”为正确的编码格式,比如GBK、UTF-8等; 也可以在查询字符串中添加NLS_LANG设置关键字,指定编码格式,以便Qt能够正确显示Oracle中的数据。