• 记Xshell中oracle数据库使用sqlplus连接中文乱码问题


    Xshell中sqlplus连接数据库显示乱码处理

    1.xshell连接会话的右键属性–终端 --字符

    在这里插入图片描述

    2.设置环境变量 NLS_LANG

    (1) 查看Linux系统环境变量 : echo $NLS_LANG
    (2)查看数据库字符集

    select*from nls_database_parameters;--数据库服务器字符集 
    
    • 1

    查询以下三个参数值:
    NLS_LANGUAGE SIMPLIFIED CHINESE
    NLS_TERRITORY CHINA
    NLS_CHARACTERSET AL32UTF8

    查询NLS_LANG的组成规则为
    NLS_LANGUAGE_NLS_TERRITORY.NLS_CHARACTERSET

    则上述例子的 NLS_LANG=‘SIMPLIFIED CHINESE_CHINA.AL32UTF8’

    实际Linux系统环境变量 NLS_LANG=‘AMERICAN_AMERICA.AL32UTF8’,设置

    export NLS_LANG='AMERICAN_AMERICA.AL32UTF8'
    
    • 1

    然后重新登录sqlplus,显示正常

    为避免每次连接都要重新设置一次,将NLS_LANG设置写入root用户和oracle用户下.bash_profile,
    具体操作如下:

    1.修改~/.bash_profile中的NLS_LANG设置。

    vim ~/.bash_profile
    
    • 1

    按insert 键,进入编辑模式写入

    export NLS_LANG="AMERICAN_AMERICA.AL32UTF8"
    
    • 1

    2.退出:
    输入“:”,进入底部命令模式,输入wq,回车,退出同时保存需改文件
    大写ZZ,连按两次Z,退出同时保存文件修改内容

    总结:乱码问题是字符编码和解码格式不一样,造成显示乱码,解决主要是将工具的编码设置与数据库编码一致。

  • 相关阅读:
    【npm如何发布自己的插件包】
    kubernetes kube-apiserver 存在SSRF漏洞
    语音识别深度神经网络,深度神经网络技术
    Django
    electron之进程间通信
    Kotlin基础入门 - 从Java快速过度Kotlin
    Gradio Dataframe 学习笔记
    Sentinel黑白名单授权规则解读
    LVS-DR模式
    终于解决VScode中python/C++打印中文全是乱码的问题了
  • 原文地址:https://blog.csdn.net/zhangenyuan/article/details/125887706