一. 首先确认你的linux是否设置了支持中文

cat /etc/sysconfig/i18n

其中:

LANG 变量是 language 的简称, 这个变量时决定系统的默认语言, 即系统菜单, 程序的工具栏语言, 输入法默认语言等.

SUPPORTED 变量是 决定系统支持的语言, 即系统能够显示的语言.

SYSFONT 变量是默认的系统字体.

其中 将LANG=“en_US.UTF-8”也是可以显示中文的.

二. 将 securCRT 中设置, 外观-> 字符编码设置成UTF-8 就可以输入中文了. (这部对于secuCRT显示中文是重要的, 上边的1主要是确认当前系统的语言系)

三. oracle 查询的结构, 显示的是问号 ?

虽然现在可以输入中文了, 也可以在 securCRT 的sqlplus下输入中文, 将data保存, 但是当你要显示的时候, 查询出来的却是问号, 但是当你指定 where name=”你好” 时, 数据库能够针对这个条件显示出1行数据, 注意只是1行, 说明查询条件起作用了, 只是显示的问题.

1. 什么是字符集

影响 oracle 数据库字符集最重要的参数是NLS_LANG 参数, 它的格式为:

NLS_LANG=languare_territory.charset 它由三部分组成(语言, 地域和字符集), 其中:

language 指定服务器消息语言,

territory 指定服务器的日期和数字格式

charset 指定字符集

例如 AMERICAN_AMERICA.ZHS16GBK

从NLS_LANG 的组成我们可以看出, 真正影响数据库字符集的其实是第三部分, 所以两个数据库之间的字符集只要第三部分一样就可以相互导入导出数据, 前面影响的只是提示信息.

2. 如何查询 oracle 的字符集

查询 server 端的字符集 : select userenv('language') from dual; -- 结果类似 AMERICAN_AMERICA.ZHS16GBK

查询 dmp 字符集(为了数据库之间的迁移) select nls_charset_name(to_number('0354','xxxx')) from dual; -- 结果类似 ZHS16GBK

查询 client 端字符集 : 在 windows 平台下, 就是注册表里相应 oracle home 的 NLS_LANG, 也可以在dos 里自己设置 set nls_lang=AMERICAN_AMERICA.ZHS16GBK, 这样就只影响这个窗口的环境变量.

在 unix 平台下, echo $NLS_LANG 可以看到字符集, 如果发现client 和 server 端字符集不一样, 就同意修改成 server 端字符集

3. 修改字符集

字符集的转换时从子集到超集受支持. 如果两个字符集根本没有子集和超集的关系, 那么字符集的转换不受 oracle 支持. 另外不建议修改 oracle server 端的字符集.

有3个字符集

1. client 本身系统字符集

2. NLS_LANG 这个应用字符集 ( 比如你在客户端调用了 sqlplus , 那么这个应用会参考这个参数 )

3. server 端字符集

如果出现乱码, 解决方法是:

server 端字符集本身就是 AL32UTF8

将 NLS_LANG 字符集设置成 AL32UTF8 (如果不设置这个参数, 那么这个参数默认就是跟server 端相同的字符集)

将 client本身字符集, 例如 unix 平台的 LANG 设置成 AL32UTF8 或者 AL32UTF8 的子集, 就可以解决乱码问题

在 SG 对应章节, 有子集和超集对应关系表

步骤可以归纳为:1.找到操作系统使用的字符集,并按上表找到对应的字符集名称。2.修改客户端软件的字符集NLS_LANG环境变量设置

SecurCRT 远程linux 输入中文及 oracle 查询出文号问题的更多相关文章

  1. oracle查询出的字段加引号

    SELECT 'list.add("' || t.dummy || '");' as listFROM dual t where rownum < 600; 执行结果: SE ...

  2. Oracle查询出最最近一次的一条记录

    需求:从一个表中查询数据,得到的数据为最新的一条记录. -------------建立测试表 --drop table TB ),dtDate date) -------------插入测试数据 ,' ...

  3. linux shell脚本连接oracle查询数据插入文件和日志文件中

    #!/bin/sh sqlplus "用户名/密码@数据库"<<EOF  或者只有一个库的 :sqlplus "用户名/密码"<<EOF ...

  4. mysql和oracle查询出的一条结果中的多个字段拼接

    1,mysql concat('a','b','c')和concat_ws('a','b','c')的区别:前者如果有某个值为空,结果为空;后者如果有某个值为空,可以忽略这个控制 SELECT con ...

  5. SSH Secure Shell Client连接Linux 命令行显示中文乱码问题 和oracle 查询数据中文乱码问题

    一.SSH Secure Shell Client连接Linux 命令行显示中文乱码问题 linux 设置系统语言 修改 /etc/sysconfig/i18n 文件,如 LANG="en_ ...

  6. oracle查询中文数据出现乱码

    首先,在oracle中,输入select userenv('language') from dual,查询出oracle使用的编码方式,我的是SIMPLIFIED CHINESE_CHINA.ZHS1 ...

  7. linux下QtCreator无法输入中文的情况

    解决linux下QtCreator无法输入中文的情况 本文由乌合之众 lym瞎编,欢迎转载 blog.cnblogs.net/oloroso 本文由乌合之众 lym瞎编,欢迎转载 my.oschina ...

  8. 解决Qt程序在Linux下无法输入中文的办法

    解决Qt程序在Linux下无法输入中文的办法 一位网友问我怎样在Linux的Qt的应用程序中输入中文,我一開始认为不是什么问题,可是后面自己尝试了一下还真不行.不仅是Qt制作的应用程序,就连Qt Cr ...

  9. Kali Linux安装中文输入法全纪录

    前言: 我使用的是英文版的Kali,默认没有安装中文输入法,也没有安装小企鹅(我后来才知道),折腾了很久,现在终于可以在Kali里输入中文了(这篇文章就是在Kali里面用leafpad写的).安装的过 ...

随机推荐

  1. 使用ASP.Net WebAPI构建REST服务(七)——调试工具

    由于WebAPI本身是基于HTTP协议的,在开发过程中,我们可以使用浏览器或Fiddler等HTTP工具辅助开发.与此同时,微软也提供了一些工具方便我们调试,使得开发更加简单快捷,本文就简单的介绍一下 ...

  2. 在WPF中合并两个ObservableCollection

    WPF中的ObservableCollection是一个非常常用的集合对象,我们可以通过将它绑定到ListBox之类的集合控件上时,当集合发生变更时,会同步更新到界面上.但是,有的时候我们需要合并两个 ...

  3. faststone 注册码

    用户名:c1ikm密码:AXMQX-RMMMJ-DBHHF-WIHTV 或 AXOQS-RRMGS-ODAQO-APHUU

  4. mipmap of unity

    遇到个奇怪的事情 mipmap generation 0级不压缩 1级 4个合1个 在unity里面 明显开了 mipmapgenerate之后 level0变糊了 ================ ...

  5. 用 JavaScript 检测浏览器在线/离线状态(JavaScript API — navigator.onLine)

    如今HTML5 移动应用或 Web app 中越来越普遍的使用了离线浏览技术,所以用 JavaScript 检测浏览器在线/离线状态非常常见. 无论浏览器是否在线,navigator.onLine 属 ...

  6. gcc编译错误:DSO missing from command line

    在用gcc 编译连接的时候,可能会遇到类似以下的错误: /usr/bin/ld: test_desktop_utils-test-desktop-utils.o: undefined referenc ...

  7. idea Tomcat 部署 war和war exploded的区别

    idea Tomcat 部署 war和war exploded的区别 学习了:https://blog.csdn.net/linjpg/article/details/73322881 explode ...

  8. SQL Server 高性能写入的一些经验总结

    转自:http://www.jb51.net/article/31162.htm 本篇博文将针对一些常用的数据库性能调休方法进行介绍,而且,为了编写高效的SQL代码,我们需要掌握一些基本代码优化的技巧 ...

  9. Android基础新手教程——4.1.2 Activity初窥门径

    Android基础新手教程--4.1.2 Activity初窥门径 标签(空格分隔): Android基础新手教程 本节引言: 上一节中我们对Activity一些主要的概念进行了了解,什么是Activ ...

  10. 倍福TwinCAT(贝福Beckhoff)常见问题(FAQ)-人机界面如何让文本框可以输入,文本框可以编辑

    选中一个文本框,然后在属性中双击输入配置的OnMouseDown事件(也可以是别的事件,但都是通过这种方法)   在左侧点击写变量,然后输入类型改成VisuDialos.Numpad(数字键盘方式), ...