Oracle中文显示???????解决办法

项目场景:

Oracleoracle中文显示???解决办法

问题描述

在这里插入图片描述

原因分析:

Oracle中文显示???通常是由于字符集不匹配或者编码问题导致的。当数据库中的数据使用的是某种字符集,而客户端或者应用程序使用的是另一种字符集时,就会出现中文显示乱码的情况。

另外,如果数据库中的数据本身就是损坏的或者不完整的,也有可能导致中文显示乱码的问题。

总的来说,中文显示乱码的原因主要包括字符集不匹配、编码问题、数据损坏等。


解决方案:

1、不同解决思路

  1. 修改NLS_LANG环境变量:将NLS_LANG环境变量设置为正确的字符集,例如:NLS_LANG=AMERICAN_AMERICA.ZHS16GBK。

  2. 修改Oracle客户端的字符集:在Oracle客户端中,可以通过修改NLS_LANG参数来设置字符集,例如:ALTER SESSION SET NLS_LANG=AMERICAN_AMERICA.ZHS16GBK。

  3. 修改数据库的字符集:如果数据库的字符集不是UTF-8或者GBK,可以考虑修改数据库的字符集。

  4. 使用Unicode字符集:Unicode字符集支持多种语言,包括中文,可以解决中文乱码问题。

  5. 使用Java程序连接Oracle:如果使用Java程序连接Oracle,可以在连接Oracle时指定字符集,例如:jdbc:oracle:thin:@localhost:1521:orcl?useUnicode=true&characterEncoding=UTF-8。

  6. 使用PL/SQL Developer等工具:一些Oracle数据库管理工具支持中文显示,例如PL/SQL Developer,可以在工具的设置中修改字符集。

2、具体解决过程

  1. 查看数据库字符集select userenv('language') from dual;

    SQL> select userenv('language') from dual;USERENV('LANGUAGE')
    ----------------------------------------------------
    AMERICAN_AMERICA.ZHS16GBKSQL> 
    
  2. 查询系统字符集locale

    [oracle@localhost ~]$ locale
    LANG=en_US.UTF-8
    LC_CTYPE="en_US.UTF-8"
    LC_NUMERIC="en_US.UTF-8"
    LC_TIME="en_US.UTF-8"
    LC_COLLATE="en_US.UTF-8"
    LC_MONETARY="en_US.UTF-8"
    LC_MESSAGES="en_US.UTF-8"
    LC_PAPER="en_US.UTF-8"
    LC_NAME="en_US.UTF-8"
    LC_ADDRESS="en_US.UTF-8"
    LC_TELEPHONE="en_US.UTF-8"
    LC_MEASUREMENT="en_US.UTF-8"
    LC_IDENTIFICATION="en_US.UTF-8"
    LC_ALL=
    [oracle@localhost ~]$ 
    
  3. 将数据库字符集修改为与系统字符集一致(也可修改系统字符集与数据库字符集一致)

    SQL> shutdown immediate
    SQL> startup nomount
    SQL> alter database mount exclusive;           //装载数据为专用的高级模式;
    SQL> alter system enable restricted session;   //启用受限制的session模式
    SQL> alter system set job_queue_processes=0;   //'maximum number of job queue slave processes' 设置工作队列的最大进程数为0
    SQL> alter system set aq_tm_processes=0;
    SQL> alter database open;
    SQL> alter database character set internal_use utf8;;  // 设置为自己所需字符集即可
    SQL> shutdown immediate
    SQL> startup
    

    注意:已经存在的数据,在修改了字符集之后还是会显示为乱码,只有新插入的数值才会生效

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/163857.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

解决Android端libc++_shared.so库冲突问题

前言 随着App功能增多,集成的so库也会增多,如果系统中多个so库都使用系统自动生成的libc_shared.so库,如果多个SDK都有该so包,就会出现报错: 解决办法 如果出现该问题,说明您的项目中有多个SDK共同依赖了C标…

fastjson2解析多为小数报错 TODO问题

解决方式:使用谷歌的gson可以解析多为小数

Java常见的bug

Java是一种强类型、面向对象的编程语言,有一些常见的bug或错误类型,尽管具体的bug会因项目和代码的不同而有所差异。以下是一些Java开发中常见的bug类型: 空指针异常(NullPointerException): 尝试在一个空对象上调用方法或访问属性时会引发空指针异常。这通常发生在没有对…

【双指针】有效三角形的个数

有效三角形的个数 611. 有效三角形的个数 - 力扣(LeetCode) 题目描述 给定一个包含非负整数的数组 nums ,返回其中可以组成三角形三条边的三元组个数。 示例 1: 输入: nums [2,2,3,4] 输出: 3 解释:有效的组合是: 2,3,4 (使用第一个 2…

MIME 类型

MIME 类型 MIME (Multipurpose Internet Mail Extensions) 是描述消息内容类型的标准,用来表示文档、文件或字节流的性质和格式。 MIME 消息能包含文本、图像、音频、视频以及其他应用程序专用的数据。 浏览器通常使用 MIME 类型(而不是文件扩展名&am…

如何编写一份优质的测试用例?

前言 这篇文章主要是想要写给测试小伙伴们的,因为我发现还是有很多小伙伴在遇到写测试用例的时候无从下手,我就想和大家简单的聊聊,分享一下我的一些见解和经验。 用例的五个构成元素: 用例标题前置条件测试步骤期望结果后置条…

05 Powershell发送http请求

一:发送http请求 1、语法: Invoke-WebRequest -uri "请求地址" -UseBasicParsing 2、实例: $result Invoke-WebRequest -uri "http://rdc.mingyuanyun.com/rdc-service/api/v2/apps/$($app)/versions/maxpackversion"…

腾讯又出王炸产品!使用混元大模型进行数据报表测试

最近腾讯出了自己的大模型,命名混元。 现在已经开始内测,感谢腾讯小伙伴卢晓明同学帮我们提前申请到了内测机会,接下来我们用腾讯混元大模型与实际工作结合,开始我的报表测试之旅。 腾讯混元大模型官方入口:https://hunyuan.ten…

Java 基础面试题大概有哪些?

Java基础面试题的范围非常广泛,一般包括以下几个方面: 一、Java基础语法 数据类型:Java中包括基本数据类型和引用数据类型,基本数据类型包括byte、short、int、long、float、double、char、boolean,引用数据类型包括…

三十分钟学会Shell(下)

Shell 3.1 运算符 3.1.1 算数运算符 在Shell脚本中,算术运算符用于执行基本的数学运算。Shell支持多种算术运算符,包括加、减、乘、除等。以下是关于Shell算术运算符的一些方法以及相应的示例说明: 加法: a10 b20 c$((a b)) …

【第二部分:结构】ARM Realm Management Monitor specification

目录 概念Realm概述Realm执行环境Realm寄存器Realm内存Realm处理器功能IMPDEF系统寄存器 Realm属性Realm活性Realm生命周期状态状态转换 Realm参数Realm描述符 颗粒Granule颗粒属性颗粒所有权颗粒生命周期状态状态转换颗粒抹除 Realm执行上下文概述REC属性REC指数和MPIDR值REC生…

洞悉今日,把握明日:咨询公司的关键策略揭秘

在快节奏且充满不确定性的商业环境中,能够洞悉当前市场动态并预测未来趋势的企业更有可能获得成功。咨询公司在这个过程中扮演着关键角色,本文将探讨咨询公司如何帮助企业洞悉现状并把握未来趋势,以及他们运用的关键策略。 咨询公司的市场洞察…

百度地图,地市区域描边

描边首先需要各个点的经纬度数据 json数据下载 直接复制粘贴进入页面ctrls保存就可以了。 如果需要某省中的各个地市描边可以点击这个省的进行下载,这里以山东为例,我是先下载了山东的json数据,但是发现只有山东省下各个市的描边,于是又下了中…

Mac下载的软件显示文件已损坏,如何解决文件已损坏问题,让文件可以正常运行

Mac下载的软件显示文件已损坏,如何解决文件已损坏问题,让文件可以正常运行 设备/引擎:Mac(11.6)/Mac Mini 开发工具:终端 开发需求:让显示已损坏的文件顺利安装到电脑 大家肯定都遇到过下载…

ESP32 MicroPython 颜色及二维码识别⑫

ESP32 MicroPython 颜色及二维码识别⑫ 1、颜色识别2、二维码识别 1、颜色识别 使用AI颜色识别功能,可以实现颜色辨别、颜色追踪等应用。颜色识别模型内置有9种常见的颜色识别和一种颜色学习识别模式。他们分别是: ai.COLOR_RED 表示识别红色 ai.COLOR…

【Linux】关系运算符、shell判断脚本执行时是否有传参、判断文件/文件夹是否存在、判断字符串是否相等、判断上个命令执行是否正常、判断字符串是否为空

🦄 个人主页——🎐个人主页 🎐✨🍁 🪁🍁🪁🍁🪁🍁🪁🍁 感谢点赞和关注 ,每天进步一点点!加油!&…

全网最详细的安装pytorch GPU方法,一次安装成功!!包括安装失败后的处理方法!

文章目录 前提---查看是否有NVIDIV英伟达显卡【笑哭】一、查看电脑的显卡驱动版本方法一:在cmd命令窗口中输入nvidia-smi,可以发现版本为12.2方法2:点击NVIDIA控制面板→系统信息 二、安装CUDA方法1: 在pytorch官网https://pytorc…

Redis高可用之主从复制及哨兵模式

一、Redis的主从复制 1.1 Redis主从复制定义 主从复制是redis实现高可用的基础,哨兵模式和集群都是在主从复制的基础之上实现高可用; 主从复制实现数据的多级备份,以及读写分离(主服务器负责写,从服务器只能读) 1.2 主从复制流…

学习Python和深度学习基础

1. Python基础知识 学习Python的基本语法、数据类型、控制流等基础知识。掌握常用的Python库,如NumPy和Pandas,它们在深度学习中经常被使用。 2. 深度学习基础 了解深度学习的基本概念,包括神经网络、前向传播、反向传播等。学习深度学习框…