无码视频在线观看,99人妻,国产午夜视频,久久久久国产一级毛片高清版新婚

  • 始創(chuàng)于2000年 股票代碼:831685
    咨詢熱線:0371-60135900 注冊(cè)有禮 登錄
    • 掛牌上市企業(yè)
    • 60秒人工響應(yīng)
    • 99.99%連通率
    • 7*24h人工
    • 故障100倍補(bǔ)償
    全部產(chǎn)品
    您的位置: 網(wǎng)站首頁(yè) > 幫助中心>文章內(nèi)容

    Linux下Oracle sqlplus中文顯示亂碼的問(wèn)題的解決

    發(fā)布時(shí)間:  2012/8/9 17:24:11

    在Windows下sqlplus完全正常,可是到Linux下,sqlplus中文顯示就出問(wèn)題了,總是顯示“??”,這個(gè)問(wèn)題又怎么解決呢?

    經(jīng)過(guò)在網(wǎng)絡(luò)上查資料,以及嘗試,得到的解法如下:

    其實(shí)很簡(jiǎn)單我們只要設(shè)置退出sqlplus,設(shè)置相應(yīng)的環(huán)境變量NLS_LANG

    export NLS_LANG="SIMPLIFIED CHINESE_CHINA.ZHS16GBK"
    -
     

    為了下次不必重新設(shè)置,我們可以將其放在/home/Oracle/.bash_profile或/etc/profile中。重新進(jìn)入sqlplus,但是發(fā)現(xiàn)原來(lái)在sqlplus中插入的數(shù)據(jù)中文還是顯示"??",不過(guò)你重新插入一條看看,是不是可以正常顯示中文了。

    另外,還找到了其它的資料,隨便的帖在下面,以備使用:

    在國(guó)內(nèi)外大中型數(shù)據(jù)庫(kù)管理系統(tǒng)中,把Oracle作為數(shù)據(jù)庫(kù)管理平臺(tái)的用戶比較多。ORACLE   不論是數(shù)據(jù)庫(kù)管理能力還是安全性都是無(wú)可非議的,但是,它在漢字信息的顯示方面著實(shí)給中國(guó)用戶帶來(lái)不少麻煩,筆者多年從事ORACLE數(shù)據(jù)庫(kù)管理,經(jīng)常收到周圍用戶和外地用戶反映有關(guān)ORACLE數(shù)據(jù)庫(kù)漢字顯示問(wèn)題的求援信,主要現(xiàn)象是把漢字顯示為不可識(shí)別的亂碼,造成原來(lái)大量信息無(wú)法使用。本文將就這一問(wèn)題產(chǎn)生的原因和解決辦法進(jìn)行一些探討,供存在這方面問(wèn)題的用戶朋友參考。

    ----   1、原因分析

    ----   通過(guò)對(duì)用戶反映情況的分析,發(fā)現(xiàn)字符集的設(shè)置不當(dāng)是影響Oracle數(shù)據(jù)庫(kù)漢字顯示的關(guān)鍵問(wèn)題。那么字符集是怎么一會(huì)事呢?字符集是ORACLE   為適應(yīng)不同語(yǔ)言文字顯示而設(shè)定的。用于漢字顯示的字符集主要有ZHS16CGB231280,US7ASCII,WE8ISO8859P1等。字符集不僅需在服務(wù)器端存在,而且客戶端也必須有字符集注冊(cè)。服務(wù)器端,字符集是在安裝ORACLE時(shí)指定的,字符集登記信息存儲(chǔ)在ORACLE數(shù)據(jù)庫(kù)字典的V$NLS_PARAMETERS表中;客戶端,字符集分兩種情況,一種情況是sql*net   2.0以下版本,字符集是在windows的系統(tǒng)目錄下的oracle.ini文件中登記的;另一種情況是sql*net   2.0以上(即32位)版本,字符集是在windows的系統(tǒng)注冊(cè)表中登記的。要在客戶端正確顯示ORACLE   數(shù)據(jù)庫(kù)漢字信息,首先必須使服務(wù)器端的字符集與客戶端的字符集一致;其次是加載到ORACLE數(shù)據(jù)庫(kù)的數(shù)據(jù)字符集必須與服務(wù)器指定字符集一致。因此,把用戶存在的問(wèn)題歸納分類,產(chǎn)生漢字顯示異常的原因大致有以下幾種:

    ----   1.   1服務(wù)器指定字符集與客戶字符集不同,而與加載數(shù)據(jù)字符集一致。

    ----   這種情況是最常見的,只要把客戶端的字符集設(shè)置正確即可,解決辦法見2.1。

    ----   1.   2服務(wù)器指定字符集與客戶字符集相同,與加載數(shù)據(jù)字符集不一致。

    ----   這類問(wèn)題一般發(fā)生在Oracle版本升級(jí)或重新安裝系統(tǒng)時(shí)選擇了與原來(lái)服務(wù)器端不同的字符集,而恢復(fù)加載的備份數(shù)據(jù)仍是按原字符集卸出的場(chǎng)合,以及加載從其它使用不同字符集的ORACLE數(shù)據(jù)庫(kù)卸出的數(shù)據(jù)的情況。這兩種情況中,不管服務(wù)器端和客戶端字符集是否一致都無(wú)法顯示漢字。解決辦法見2.2。

    ----   1.3服務(wù)器指定字符集與客戶字符集不同,與輸入數(shù)據(jù)字符集不一致。

    ----   這種情況是在客戶端與服務(wù)器端字符集不一致時(shí),從客戶端輸入了漢字信息。輸入的這些信息即便是把客戶端字符集更改正確,也無(wú)法顯示漢字。解決辦法見2.3。

    ----   2.解決辦法

    ----   下面將分別對(duì)上述三種情況給出解決辦法。為了敘述方便,假設(shè)客戶端使用WINDOWS95/98環(huán)境,并已成功地配置了TCP/IP協(xié)議,安裝了Oracle的sql*net,sql*pluse產(chǎn)品。

    ----   2.1   設(shè)置客戶端字符集與服務(wù)器端字符集一致

    ----   假設(shè)當(dāng)前服務(wù)器端使用US7ASCII字符集。

    ----   (1)查看服務(wù)器端字符集

    ----   通過(guò)客戶端或服務(wù)器端的sql*plus登錄Oracle的一個(gè)合法用戶,執(zhí)行下列SQL語(yǔ)句:

        SQL   >   select   *   from   V$NLS_PARAMETERS

    parameter            value

    NLS_LANGUAGE            AMERICAN

    NLS_TERRITORY         AMERICA

    ….                 ….

    NLS_CHARACTERSET          US7ASCII

    NLS_SORT              BINARY

    NLS_NCHAR_CHARACTERSET       US7ASCII

    ----   從上述列表信息中可看出服務(wù)器端Oracle數(shù)據(jù)庫(kù)的字符集為´US7ASCII´。

    ----   (2)按照服務(wù)器端字符集對(duì)客戶端進(jìn)行配置

    ----   配置方法有兩種:

    安裝Oracle的客戶端軟件時(shí)指定

    ----   在安裝Oracle的客戶端產(chǎn)品軟件時(shí),選擇與ORACLE服務(wù)端一致的字符集(本例為US7ASCII)即可。

    修改注冊(cè)信息的方法

    ----   根據(jù)Oracle   客戶端所選sql*net   的版本分為下列兩種情況:

    ----   a.   客戶端為   sql*net   2.0   以下版本

    ----   進(jìn)入Windows的系統(tǒng)目錄,編輯Oracle.ini文件,用US7ASCII替換原字符集,重新啟動(dòng)計(jì)算機(jī),設(shè)置生效。

    ----   b.   客戶端為   sql*net   2.0   以上版本

    ----   在WIN98   下   運(yùn)   行REGEDIT,第一步選HKEY_LOCAL_MACHINE,第二步選擇SOFTWARE,   第三步選擇   Oracle,   第四步選擇   NLS_LANG,   鍵   入   與服   務(wù)   器   端   相   同   的   字   符   集(本例為:AMERICAN_AMERICAN.US7ASCII)。

    ----   2.2   強(qiáng)制加載數(shù)據(jù)字符集與服務(wù)器端字符集一致

    ----   假設(shè)要加載數(shù)據(jù)從原Oracle數(shù)據(jù)庫(kù)卸出時(shí)的字符集為US7ASCII,當(dāng)前ORACLE服務(wù)器字符集為WE8ISO8859P1。

    ----   下面提供三種解決方法:

    ----   (1)   服務(wù)器端重新安裝Oracle

    ----   在重新安裝Oracle   時(shí)選擇與原卸出數(shù)據(jù)一致的字符集(本例為US7ASCII)。

    ----   加載原卸出的數(shù)據(jù)。

    ----   這種情況僅僅使用于空庫(kù)和具有同一種字符集的數(shù)據(jù)。

    ----   (2)強(qiáng)行修改服務(wù)器端Oracle當(dāng)前字符集

    ----   在用imp命令加載數(shù)據(jù)前,先在客戶端用sql*plus登錄system   DBA用戶,執(zhí)行下列SQL語(yǔ)句進(jìn)行當(dāng)前Oracle數(shù)據(jù)庫(kù)字符集修改:

    SQL   >   create   database character   set   US7ASCII

    *   create   database   character   set   US7ASCII

       ERROR   at   line   1:

    ORA-01031:   insufficient   privileges

    ----   你會(huì)發(fā)現(xiàn)語(yǔ)句執(zhí)行過(guò)程中,出現(xiàn)上述錯(cuò)誤提示信息,此時(shí)不用理會(huì),實(shí)際上Oracle數(shù)據(jù)庫(kù)的字符集已被強(qiáng)行修改為US7ASCII,接著用imp命令裝載數(shù)據(jù)。等數(shù)據(jù)裝載完成以后,shutdown   數(shù)據(jù)庫(kù),再startup   數(shù)據(jù)庫(kù),用合法用戶登錄ORACLE數(shù)據(jù)庫(kù),在sql>命令提示符下,運(yùn)行select   *   from   V$NLS_PARAMETERS,可以看到ORACLE數(shù)據(jù)庫(kù)字符集已復(fù)原,這時(shí)再查看有漢字字符數(shù)據(jù)的表時(shí),漢字已能被正確顯示。

    ----   (3)利用數(shù)據(jù)格式轉(zhuǎn)儲(chǔ),避開字符集限制

    ----   這種方法主要用于加載外來(lái)Oracle數(shù)據(jù)庫(kù)的不同字符集數(shù)據(jù)。其方法如下:

    ----   先將數(shù)據(jù)加載到具有相同字符集的服務(wù)器上,然后用轉(zhuǎn)換工具卸出為foxbase   格式或access格式數(shù)據(jù)庫(kù),再用轉(zhuǎn)換工具轉(zhuǎn)入到不同字符集的Oracle數(shù)據(jù)庫(kù)中,這樣就避免了ORACLE字符集的困擾。目前數(shù)據(jù)庫(kù)格式轉(zhuǎn)換的工具很多,象power   builder5.0以上版本提供的pipeline,Microsoft   Access數(shù)據(jù)庫(kù)提供的數(shù)據(jù)導(dǎo)入/導(dǎo)出功能等。轉(zhuǎn)換方法參見有關(guān)資料說(shuō)明。.

    ----   2.3匹配字符集替換漢字

    ----   對(duì)于1.3提到的情況,沒(méi)有很好的辦法,只能先把客戶端與服務(wù)器端字符集匹配一致后,根據(jù)原輸入漢字的特征碼替換漢字字符部分。


    本文出自:億恩科技【mszdt.com】

    服務(wù)器租用/服務(wù)器托管中國(guó)五強(qiáng)!虛擬主機(jī)域名注冊(cè)頂級(jí)提供商!15年品質(zhì)保障!--億恩科技[ENKJ.COM]

  • 您可能在找
  • 億恩北京公司:
  • 經(jīng)營(yíng)性ICP/ISP證:京B2-20150015
  • 億恩鄭州公司:
  • 經(jīng)營(yíng)性ICP/ISP/IDC證:豫B1.B2-20060070
  • 億恩南昌公司:
  • 經(jīng)營(yíng)性ICP/ISP證:贛B2-20080012
  • 服務(wù)器/云主機(jī) 24小時(shí)售后服務(wù)電話:0371-60135900
  • 虛擬主機(jī)/智能建站 24小時(shí)售后服務(wù)電話:0371-60135900
  • 專注服務(wù)器托管17年
    掃掃關(guān)注-微信公眾號(hào)
    0371-60135900
    Copyright© 1999-2019 ENKJ All Rights Reserved 億恩科技 版權(quán)所有  地址:鄭州市高新區(qū)翠竹街1號(hào)總部企業(yè)基地億恩大廈  法律顧問(wèn):河南亞太人律師事務(wù)所郝建鋒、杜慧月律師   京公網(wǎng)安備41019702002023號(hào)
      1
     
     
     
     

    0371-60135900
    7*24小時(shí)客服服務(wù)熱線