码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • QODBC查询Oracle中文乱码问题


    再QT中使用ODBC来查询ORACLE数据库时,当字段是中文时,查询出来的数据的乱码,可以使用以下集中方法:

    1、更改注册表中数据库的字符集(不推荐),因为很可能我们更改了字符集后会影响其它操作数据库的程序:

    regedit 打开注册表编辑,找到项目
    HKEY_LOCAL_MACHINE -> SOFTWARE -> oracle -> KEY_OraClient11g_home1 -> NLS_LANG
    把原先的值 SIMPLIFIED CHINESE_CHINA.ZHS16GBK, 改为SIMPLIFIED CHINESE_CHINA.AL32UTF8

    2、自己编译QOCI驱动来操作ORACLE数据库,前面文章有介绍如何编译QOCI驱动,这个可以正常操作中文字段。

    3、如果你特别想使用QODBC驱动来操作oracle数据库,你也可以自己编译QODBC驱动,我这里使用qt5.12.11没有编译完成,遇到了一些问题。但是在不编译驱动的情况下我们可以使用编码转换函数来完成我们的操作:

    (1)、使用CONVERT()字符集转换函数来完成:

    比如name字段的值为中文,当我们直接查询时会显示乱码:

    select name from student;

    我们在查询语句中对中文字段使用字符集转换函数,查询出来的数据就不会乱码:

    select CONVERT(name, 'AL32UTF8') from student;

    插入的时候类似,我们需要转换成oracle数据库的字符集。

    (2)使用UTL_RAW.cast

  • 相关阅读:
    IT运维管理革新,服务器监控新篇章
    python 应用 之 转图片格式webp
    Vue渐进式框架
    谷粒商城 高级篇 (十三) --------- 异步&线程池
    机器学习模型5——贝叶斯分类器
    应用在LED装饰灯中的LED炫彩灯珠
    25 Python的collections模块
    Spring之依赖注入源码解析
    i++ 和 ++i的真正区别
    Vue生命周期
  • 原文地址:https://blog.csdn.net/u012372584/article/details/126492825
  • 最新文章
  • Paxos算法:如何解决分布式系统中的共识问题?
    和AI一起搞事情#5:技能进阶与Claude Design初体验
    .NET 11 Preview 4 正式发布:Runtime-Async 全面启用、Process API 大幅扩展
    大数据没那么远:把散乱数据理顺,让业务敢用
    高性能百度OCR ONNX Runtime C#实现
    C#/.NET/.NET Core技术前沿周刊 | 第 70 期(2026年5.01-5.10)
    Triton学习 · Part 1 · Hello, world!
    manyspeech-cli 本地命令行语音识别工具
    PortSwigger SQL注入LAB5 & LAB6
    Go-Spring 项目概览
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号