qt通过odbc连接oracle,在tableview上显示数据库数据时时乱码,有什么解决办法
可以试下这几个办法,有用的话望采纳谢谢
设置数据库编码为 UTF-8:在连接数据库的时候设置 NLS_LANG 环境变量为 "American_America.UTF8"。
设置 QTextCodec:在代码中使用 QTextCodec::setCodecForLocale() 函数将本地字符集设置为 UTF-8。
在数据库查询时设置 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中的数据。