Oracle中文乱码问题

有没有大🐮遇见过Oracle中文乱码的问题?

我搜了一下网上,大致都是设置注册项里一个字符集解决。
我这边是华为工作环境,找不到对应的注册项路径,所以没办法这样解决。

我尝试用python读取乱码的中文字符,用utf-8解码后再用其他编码格式编码输出,可是依然不行。

有没有大🐮有解决方法,或者介绍一下这里面的逻辑。
我不明白,oracle显示出来的乱码的字符,使用的是什么编码格式?
或者有没有办法直接从oracle中获取对应字节,直接编码?

玩过11g可以用sql语句改,参考这里:https://blog.csdn.net/weixin_28787801/article/details/116326291

首先你要确认一下是数据乱码了还是你本地客户端和代码页字符集不匹配。
本地客户端的字符集是在环境变量NLS_LANG中设置的,windows和linux都有这个环境变量,所以就算你是华为的工作环境,也同样是可以设置的.
至于代码页字符集,其实就是你程序的查询窗口定义的字符集,或者是你使用的开发语言定义的字符集。
详细可以参考我这篇文章

【ORACLE】谈一谈Oracle数据库使用的字符集,不仅仅是乱码_DarkAthena的博客-CSDN博客_oracle数据库默认字符集 一、前言先看一个比较有意思的案例上面这个sql,查询了a和b两个字段,均为"张三"两个汉字,并且使用length函数检查,长度均为2。但是,当你看到下面这几个sql的输出结果时,很有可能第一反应是:"这特喵的怎么可能?"其实,你所看到的两个"张三",的确长得是一模一样,用显微镜去看也不可能看到区别。但为什么a和b不相等呢?这是因为组成他们的成分不一样,这个成分就是 字符集二、什么是字符集?百度百科简单来说,字符(Character)是各种文字和符号的总称,包括各国家文字、标 https://darkathena.blog.csdn.net/article/details/122659532?spm=1001.2014.3001.5502