精华内容
下载资源
问答
  • 查看环境变量字符集(NLS_LANG

    万次阅读 2014-07-02 10:59:09
    查看环境变量字符集(NLS_LANG) 1. NLS_LANG 参数组成  NLS_LANG参数由以下部分组成:  NLS_LANG=_.  NLS_LANG各部分含义如下:  LANGUAGE指定:  -Oracle消息使用的语言  -日期中月份和日显示  ...

    查看环境变量字符集(NLS_LANG)

    什么是NLS_LANG

    NLS_LANG是一个环境变量,用于定义语言,地域以及字符集属性。对于非英语的字符集,NLS_LANG的设置就非常重要。

    NLS:‘National Language Support (NLS)’ 当我们设定一种nls的时候实际上我们是为oracle在存放数据时指定了他的语种所特有的一些表达形式,比如我们选择chinese,那么它的中文字符如何存放,按什么规则排序,货币如何表示,日期格式也就被设定了。

    NLS_LANG格式

    NLS_LANG = language_territory.charset

    常见的值可以参见Oracle Database Client Globalization Support

    NLS_LANG的设置

    Unix下NLS_LANG是一个环境变量,Windows下NLS_LANG一般是在注册表里设置的。

    Unix下的设置

    1. export NLS_LANG=AMERICAN_AMERICA.WE8ISO8859P1  
    Windows下为 HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\HOME x \NLS_LANG
    如果有多个oracle产品,那么HOMEx可能就有多个,比如HOME0,HOME1...一般都有NLS_LANG这个注册项。

    在windows下也可以把NLS_LANG设置成环境变量,但这样做的比较少,一般还是在注册表里设置。

    DB中的NLS_LANG

    DB也有自己的NLS_LANG参数,来标识数据库的语言,地域,字符集。可以通过以下的SQL来查得,

    1. SELECT * FROM v$nls_parameters;   
    2.   
    3. OR  
    4.   
    5. SELECT USERENV ('language'FROM DUAL;  

    客户端的NLS_LANG和DB的NLS_LANG

    DB的NLS_LANG和客户端环境变量中NLS_LANG尽可能的保持一致。

    Setting the NLS_LANG Environment Variable for Oracle Databases 提供了如何保持一致的方法。

    那么为什么要保持一致呢?那是因为如果字符集不匹配,有可能在DB和Client间相互转换的过程中,出现字符转换错误的情况。比如Oracle nls_lang tips中举的例子。


    参考:

    NLS_LANG FAQ

    Oracle Database Client Globalization Support
    Setting the NLS_LANG Environment Variable for Oracle Databases

    Oracle nls_lang tips


    转载请注明出处:http://blog.csdn.net/pan_tian/article/details/7745717



    **********************************************************************************************


    ***


    1. NLS_LANG 参数组成 

    NLS_LANG参数由以下部分组成: 

    NLS_LANG=<Language>_<Territory>.<Clients Characterset> 
    NLS_LANG各部分含义如下: 
    LANGUAGE指定: 
    -Oracle消息使用的语言 
    -日期中月份和日显示 
    TERRITORY指定 
    -货币和数字格式 
    -地区和计算星期及日期的习惯 
    CHARACTERSET: 
    -控制客户端应用程序使用的字符集 
    通常设置或者等于客户端(如Windows)代码页 
    或者对于unicode应用设置为UTF8 
    在Windows上查看当前系统的代码页可以使用chcp命令: 
    E:\>chcp 
    活动的代码页: 936 
    代码页936也就是中文字符集 GBK,在Microsoft的官方站点上,我们可以遭到关于936代码页的具体编码规则,请参考以下链接: 
    http://www.microsoft.com/globaldev/reference/dbcs/936.htm 

    2. 查看 NLS_LANG 的方法 
    Windows使用: 
    echo %NLS_LANG% 
    如: 
    E:\>echo %NLS_LANG% 
    AMERICAN_AMERICA.ZHS16GBK 
    Unix使用: 
    env|grep NLS_LANG 
    如: 
    /opt/oracle>env|grep NLS_LANG 
    NLS_LANG=AMERICAN_CHINA.ZHS16GBK 
    Windows客户端设置,可以在注册表中更改NLS_LANG,具体键值位于: 
    HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\HOMExx\ 
    xx指存在多个ORACLE_HOME时系统编号。 

    3. 查看数据库当前字符集参数设置 
    SELECT * FROM v$nls_parameters; 

    4. 查看数据库可用字符集参数设置 
    SELECT * FROM v$nls_valid_values; 

    5. 客户端 NLS_LANG 的设置方法 
    Windows: 
    # 常用中文字符集 
    set NLS_LANG=SIMPLIFIED CHINESE_CHINA.ZHS16GBK 
    # 常用unicode字符集 
    set NLS_LANG=american_america.AL32UTF8 
    可以通过修改注册表键值永久设置 
    HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\HOMExx\NLS_LANG 
    Unix: 
    # 常用unicode字符集 
    export NLS_LANG=american_america.AL32UTF8 
    # 常用中文字符集 
    export NLS_LANG="Simplified Chinese_china".ZHS16GBK 
    可以编辑 bash_profile 文件进行永久设置 
    vi .bash_profile 
    NLS_LANG="Simplified Chinese_china".ZHS16GBK export NLS_LANG 
    # 使 bash_profile 设置生效 
    source .bash_profile 
    ================================================================================= 

      [Q]怎么样查看数据库字符集   
      [A]数据库服务器字符集select * from nls_database_parameters,其来源于props$,是表示数据库的字符集。 
       
      客户端字符集环境select * from nls_instance_parameters,其来源于v$parameter, 
       
      表示客户端的字符集的设置,可能是参数文件,环境变量或者是注册表 
       
      会话字符集环境 select * from nls_session_parameters,其来源于v$nls_parameters,表示会话自己的设置,可能是会话的环境变量或者是alter session完成,如果会话没有特殊的设置,将与nls_instance_parameters一致。 
       
      客户端的字符集要求与服务器一致,才能正确显示数据库的非Ascii字符。如果多个设置存在的时候,alter session>环境变量>注册表>参数文件 
       
      字符集要求一致,但是语言设置却可以不同,语言设置建议用英文。如字符集是zhs16gbk,则nls_lang可以是American_America.zhs16gbk。 
       
      [Q]怎么样修改字符集 
       
      [A]8i以上版本可以通过alter database来修改字符集,但也只限于子集到超集,不建议修改props$表,将可能导致严重错误。 
       
      Startup nomount; 
      Alter database mount exclusive; 
      Alter system enable restricted session; 
      Alter system set job_queue_processes=0; 
      Alter database open; 
      Alter database character set zhs16gbk; 

      [Q]怎么样查看数据库字符集   
      [A]数据库服务器字符集select * from nls_database_parameters,其来源于props$,是表示数据库的字符集。 
       
      客户端字符集环境select * from nls_instance_parameters,其来源于v$parameter, 
       
      表示客户端的字符集的设置,可能是参数文件,环境变量或者是注册表 
       
      会话字符集环境 select * from nls_session_parameters,其来源于v$nls_parameters,表示会话自己的设置,可能是会话的环境变量或者是alter session完成,如果会话没有特殊的设置,将与nls_instance_parameters一致。 
       
      客户端的字符集要求与服务器一致,才能正确显示数据库的非Ascii字符。如果多个设置存在的时候,alter session>环境变量>注册表>参数文件 
       
      字符集要求一致,但是语言设置却可以不同,语言设置建议用英文。如字符集是zhs16gbk,则nls_lang可以是American_America.zhs16gbk。 
       
      [Q]怎么样修改字符集 
       
      [A]8i以上版本可以通过alter database来修改字符集,但也只限于子集到超集,不建议修改props$表,将可能导致严重错误。 
       
      Startup nomount; 
      Alter database mount exclusive; 
      Alter system enable restricted session; 
      Alter system set job_queue_process=0; 
      Alter database open; 
      Alter database character set zhs16gbk;

    来源:http://ylsuccess.javaeye.com/blog/454395

    展开全文
  • 环境变量NLS_LANG 语言_地区.字符集的获取

    查询库字符集,生成export语句

    select 'export NLS_LANG=' || l.VALUE || '_' || t.VALUE || '.' || c.VALUE as "setNLS_LANG"
      from NLS_DATABASE_PARAMETERS l,
           NLS_DATABASE_PARAMETERS t,
           NLS_DATABASE_PARAMETERS c
     where l.PARAMETER = 'NLS_LANGUAGE'
       and t.PARAMETER = 'NLS_TERRITORY'
       and c.PARAMETER = 'NLS_CHARACTERSET';
    -- 生成诸如:export NLS_LANG=AMERICAN_AMERICA.UTF8
    -- Linux环境变量设置语句
    
    展开全文
  • mysql 小技巧,字符集环境变量

    千次阅读 2010-06-01 13:46:00
      1、MySQL是有一些环境变量可以设置, 可输入:show variables;可查看当前的环境变量设置;   2、这些变量当中有一部分与字符相关的设置, 可输入:show variables like ´...

    一、MySql,用cmd命令提示行连接数据库,发现查询数据库中的中文出现乱码,而数据库里面存的是utf8,都是正确的

     

    于是上网搜索一下,

    找到相关设置方法如下。

     

    1、MySQL是有一些环境变量可以设置,

    可输入:show variables;可查看当前的环境变量设置;

     

    2、这些变量当中有一部分与字符相关的设置,

    可输入:show variables like ´character%´;查看;

     

    3、其中character_set_results决定返回结果的编码,

    windows下设为gb2312即可正常显示中文;

    设置方法:set character_set_results=gb2312;,然后回车即可;

     

    4、当然,如果想通过命令提示行窗口来输入中文修改数据库内容,

    则可以试试设置set character_set_connection=gb2312;

    以及set character_set_client=gb2312;

     

    说明:

    以上在命令提示行窗口中设置的值,

    其有效期仅仅为本次连接有效,

    即断开本次连接之后,

    重新连接进来,

    所有所设置的变量又恢复到默认的值了。

     

     

    二、从DOS切换到mysql:环境变量设置的问题

    在WindowsXP中打开DOS,通过输入命令“mysql -u root -p”切换到mysql下,切换失败,如下所示:
    Microsoft Windows XP [版本 5.1.2600]
    (C) 版权所有 1985-2001 Microsoft Corp.
    C:/>mysql -u root -p
    'mysql' 不是内部或外部命令,也不是可运行的程序
    或批处理文件。
     
    出现这种错误的原因是没有在环境变量PATH中将mysql的路径添加进去。如果是在unix平台,可以通过PATH=XXX;export PATH来进行路径的添加,在WindowsXP平台下,需要按照下面的方法来将mysql路径添加到环境变量中:

    右键点击“我的电脑”-“属性”-“高级”-“环境变量”-“系统变量”-双击“Path”-将mysql的路径“C:/Program Files/MySQL/MySQL Server 5.0/bin”添加进去-“确定”
    添加完毕之后,再到DOS下进行测试:
    C:/>mysql -u root -p
    Enter password: **********
    Welcome to the MySQL monitor.  Commands end with ; or /g.
    Your MySQL connection id is 21
    Server version: 5.0.45-community-nt MySQL Community Edition (GPL)
    Type 'help;' or '/h' for help. Type '/c' to clear the buffer.
    mysql>
    成功!

     

    展开全文
  • 打开注册表,如何打开注册表,可以上百度,百度上输入-卡卡- regedit, 然后在本页你会查找到需要的答案。 打开注册表方法:开始---运行---regedit---确定 查看数据库当前字符集:select * f...

    打开注册表,如何打开注册表,可以上百度,百度上输入-卡卡-  regedit, 然后在本页你会查找到需要的答案。


    打开注册表方法:
    开始---运行---regedit---确定


    查看数据库当前字符集:
    select   *  from   v$nls_parameters;

    客户端字符集设置:
    Windows:
    # 常用中文字符集
    开始-运行-CMD:
    SET NLS_LANG=SIMPLIFIED CHINESE_CHINA.ZHS16GBK
    以上参数设置只是在当前会话生效,关闭CMD窗口后下次还需要重新设置,为了使设置永久生效,Windows需将NLS_LANG环境变量订死在注册表里.
    开始---运行---regedit---确定:
    HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\HOMExx\NLS_LANG
    修改NLS_LANG将其改为SIMPLIFIED CHINESE_CHINA.ZHS16GBK

     

    Linux:
    # 常用中文字符集
    打开命令行窗口,su- oracle切换Oracle用户:
    export  NLS_LANG=SIMPLIFIED CHINESE_CHINA.ZHS16GBK
    可以编辑 bash_profile 文件进行永久设置
    vi .bash_profile
    export NLS_LANG="SIMPLIFIED CHINESE_CHINA.ZHS16GBK"
    或者
    export NLS_LANG="Simplified Chinese_china".ZHS16GBK

    最后source .bash_profile  使修改后的配置文件生效

    fj.pngNLS_LANG.jpg

    来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/26839123/viewspace-722870/,如需转载,请注明出处,否则将追究法律责任。

    转载于:http://blog.itpub.net/26839123/viewspace-722870/

    展开全文
  • NLS_LANG环境变量说明 格式如下 NLS_LANG = LANGEAGE_TERRITORY.CHARSET 1)LANGUAGE:客户端系统所使用的语言。  操作系统使用简体中文,则为SIMPLIFIED CHINESE;若操作系统使用英文,则为AMERICAN。  主要...
  • 一般就算设置了表的mysql默认字符集为utf8并且通过UTF-8编码发送查询,你会发现存入数据库的仍然是乱码。问题就出在这个connection连接层上。解决方法是在发送查询前执行一下下面这句临时的改变: SET NAMES '...
  • “计算机俗称电脑,是能够按照程序运行,自动、高速处理海量数据的现代化智能电子设备。既可以进行数值计算,又可以进行逻辑计算,还具有存储记忆功能。计算机可分为超级计算机、工业控制计算机、网络计算机、个人...
  • 计算机要点概述计算基本概念 电脑 手机 计算器....计算机组成计算机语言计算机语言的发展计算机语言的两种分类两种转换时机 计算基本概念 电脑 手机 计算器… ...字符 数字 语法规则 这些就是计算机能够接受的语
  • 配置mysql数据库的字符集(防止终端操作数据库出现乱码,做系统的时候数据库乱码) 1. 进入系统偏好设置-->MySql-->停用mysql的服务 2 、在终端中执行  sudo -s 3 、输入电脑管理员的密码 ...
  • 设置环境变量(修改PATH和TNS_ADMIN环境变量):对于NLS_LANG环境变量, 最好设置成和数据库端一致, 首先从数据库端查询字符集信息:如图,以system登陆,进去后新建一个SQL WINDOW,输入 SQL&gt; select userenv('...
  • 修改系统字符集

    2017-02-19 21:02:02
    字符集在系统中体现形式是一个环境变量,以CentOS6.5为例,其查看当前终端使用字符集的方式可以有以下几种方式: 1、[root@david ~]# echo $LANG zh_CN.GB18030 2、[root@david ~]# env |grep LANG LANG=zh_...
  • Oracle 学习笔记 字符集概述 这节课开始讲oracle里面的字符集 偏重于原理和简单的一些判断以及实现 字符集它涉及到很多的东西 比如建库和操作系统环境 这节课把字符集的原理性的东西以及常见的操作讲一下 大家...
  • PLSQL设置中文字符集

    2021-04-28 13:58:53
    PLSQL设置中文字符集 ...此电脑——右键属性——高级系统设置——环境变量——系统变量——新建 变量名:NLS_LANG 变量值:SIMPLIFIED CHINESE_CHINA.ZHS16GBK 一路确定 再次返回第一步检查 成功 ...
  • Unicode是宽字符集的一种。然而,因为本书的焦点是Windows而不是C执行的理论,所以书中把宽字符和Unicode作为同义语。 2.2.1 char数据类型 (1)下面的语句定义并初始化了一个只包含一个字符的变量: char c = '...
  • oracle字符集乱码处理

    2018-12-16 15:45:17
    查看客户端字符集:locale [oracle@opsoracle02 ]$ export NLS_LANG=american_america.utf8  Window操作系统: 查看客户端字符集:chcp (1)设置本地客户端编码: 进入 我的电脑,...
  • Python--->Windows10永久添加环境变量, 避免1024个字符限制
  • 设置PLSQL Developer字符集与Oracle服务器字符集一致 1、查询oracle server端的字符集。...2、我的电脑环境变量界面,在系统变量中新加: 变量名:NLS_LANG 变量值:SIMPLIFIED CHINESE_CHINA.ZHS16G...
  • Oracle字符集及其查看和修改

    万次阅读 2016-06-07 17:53:38
    Oracle中查看所用字符集及修改字符集
  • Java字符集

    2012-11-24 16:16:42
    字符集基础  Character set(字符集):字符的集合,也就是,带有特殊语义的符号。没有内在数字价值,与ASCII,Unicode,甚至是电脑也没有任何的直接联系。  Coded character set(编码字符集):一个数值赋给一...
  • Oracle环境变量配置

    千次阅读 2018-11-29 13:02:28
    情况描述: 最近在配置plsql环境后,plsql总是...二、环境变量 需要配置以下三个环境变量: 1.ORACLE_HOME:数据库的实例启动所需要的所有的程序和相关的文件(除了数据库外)。 新建一个变量home,再在path中...
  • plsql乱码解决 字符集处理

    万次阅读 多人点赞 2018-08-03 09:59:46
    PLSQL安装完成后,连接数据库,结果发现所有中文字符都是由 ...1.先查询当前plsql的字符集编码 select userenv('language') from dual; 2.设置环境变量 环境变量添加办法:右击我的电脑,点击“属性”--&gt...
  • Oracle 设置字符集

    千次阅读 2017-12-26 17:38:51
    AL32UTF8字符集不是一种可(显示/输入)的语言字符集,是一种用于存储的字符集,支持全世界主要的文字语言编码。 AL32UTF8为ZHS16GBK的超集。 NLS_LANG应该设置成系统本身所使用的语言字符集,与数据库语言...
  • 如果想要搞清楚Oracle的字符...“NLS_LANG”环境变量 三.“数据库字符集” 数据库字符集查看方法:select * from nls_database_parameters; 或者 select * from v$nls_parameters; 找到: NLS_LANGUAGE NLS_TERRITOR
  • mac电脑安装mysql及配置环境变量

    千次阅读 2018-08-11 21:20:14
    这时你会发现mysql的字符集就变成了utf8,支持中文 这一步可以先下载文件,然后用终端把文件移到/etc目录下,具体命令: cp ..../my.cnf(这是你下载的文件的路径) /etc   6.以下就是配置环境变量(以mysql...
  • Oracle字符集配置GOOD

    千次阅读 2012-03-14 10:52:10
    oracle字符集一直困扰很久,看过http://www.itpub.net/276524.html后豁然开朗,其实就是分清客户端和数据库端字符集的配置,然后看看是否一致,不一致的时候执行转换,呵呵,真的就这么简单。 1) 查询数据库有关...
  • 右击我的电脑,然后点击属性,“高级”页面下,点击“环境变量”,在系统变量中添加: 变量名:NLS_LANG 变量值:SIMPLIFIED CHINESE_CHINA.ZHS16GBK 运行cmd,输入echo %NLS_LANG%,查看系统变量设置时否成功 然后...
  • 修改字符集就好,准确说是电脑环境变量设置字符集 到计算机--&gt;属性--&gt;环境变量--&gt;设置下字符集就ok了,修改后重启 粘贴使用 [oracle@gw1 dbs]$ export NLS_LANG='american_america.AL32...
  • PLSQL字符集问题

    2019-08-27 14:34:08
    select * from GGAQ_HJ_SYZHCX t where wpmc = '苯乙酸' 条件中有中文 无法查询 ...1、查询oracle server端的字符集。打开PLSQL的查询窗口中输入下面SQL...得到的服务器字符集为:SIMPLIFIED CHINESE_CHINA.AL3...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 25,849
精华内容 10,339
关键字:

电脑环境变量字符集