欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

oracle亂碼怎么設(shè)置,oracle命令行亂碼

oracle數(shù)據(jù)導(dǎo)出spool方式,中文出現(xiàn)亂碼是什么原因?

一般來說,oracle數(shù)據(jù)導(dǎo)出spool方式,中文出現(xiàn)亂碼,這情況是因?yàn)閿?shù)據(jù)庫服務(wù)器和客戶端字符集不匹配,執(zhí)行sqlplus的機(jī)器就是客戶端,服務(wù)器和客戶端也可能是一臺機(jī)器,執(zhí)行sqlplus之前要先設(shè)置客戶端的字符集,在linux上:export NLS_LANG=.......

為永康等地區(qū)用戶提供了全套網(wǎng)頁設(shè)計(jì)制作服務(wù),及永康網(wǎng)站建設(shè)行業(yè)解決方案。主營業(yè)務(wù)為網(wǎng)站設(shè)計(jì)制作、成都做網(wǎng)站、永康網(wǎng)站設(shè)計(jì),以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務(wù)。我們深信只要達(dá)到每一位用戶的要求,就會得到認(rèn)可,從而選擇與我們長期合作。這樣,我們也可以走得更遠(yuǎn)!

在windows上set NLS_LANG查詢數(shù)據(jù)庫字符集:select property_value from database_properties where property_name like 'NLS_CHAR%';

1、比如查詢結(jié)果是:ZHS16GBK

那你在sqlplus之前要設(shè)置:export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK

然后再登錄sqlplus用spool生成數(shù)據(jù)

檢查下你導(dǎo)出時(shí)候的環(huán)境變量,導(dǎo)入時(shí)的環(huán)境變量

2、比如導(dǎo)出時(shí)NLS_LANG=AMERICAN_AMERICA.ZHS16GBK

導(dǎo)入時(shí)NLS_LANG沒有設(shè)置,或者設(shè)置為其他字符集,則導(dǎo)入的庫內(nèi)漢字就有可能變成亂碼。

解決方法,連接數(shù)據(jù)庫的時(shí)候設(shè)置正確字符集即可。

Oracle數(shù)據(jù)出現(xiàn)中文亂碼怎么解決

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

解決方法:對于這種情況,只需要設(shè)置客戶端字符集與服務(wù)器端字符集一致就可以了,具體操作如下:

* 查看當(dāng)前字符集:

SQL select * from sys.props$

2 WHERE NAME=‘NLS_CHARACTERSET’;

NAME value$

NLS_CHARACTERSET ZHS16GBK

可以看出,現(xiàn)在服務(wù)器端Oracle數(shù)據(jù)庫的字符集為‘ZHS16GBK’

* 根據(jù)服務(wù)器的字符集在客戶端作相應(yīng)的配置或者安裝Oracle的客戶端軟件時(shí)指定:

如果還沒安裝客戶端,那么在安裝客戶端時(shí),指定與服務(wù)器相吻合的字符集即可;如果已經(jīng)安裝好了客戶端,并且客戶端為 sql*net 2.0 以下版本,進(jìn)入Windows的系統(tǒng)目錄,編輯oracle.ini文件,用US7ASCII替換原字符集,重新啟動(dòng)計(jì)算機(jī),設(shè)置生效;否則,如果,客戶端為 sql*net 2.0 以上版本,在Win98 下 運(yùn) 行REGEDIT,第一步選HKEY_LOCAL_MACHINE,第二步選擇SOFTWARE, 第三步選擇 Oracle, 第四步選擇 NLS_LANG, 鍵 入 與服 務(wù) 器 端 相 同 的 字 符 集

(本例為:HKEY_LOCAL_MACHINE/

SOFTWARE/ORACLE/NLS_LANG :AMERICAN _ AMERICA. ZHS16GBK)。

如果是UNIX客戶端,則:

SQL conn / as sysdba

Connected.

SQL SQL UPDATE sys.PROPS$ SET value$=‘SIMPLIFIED CHINESE’

2 WHERE NAME=‘NLS_LANGUAGE’;

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

解決方法:強(qiáng)制加載數(shù)據(jù)字符集與服務(wù)器端字符集一致。要做到這一點(diǎn),可以通過重新創(chuàng)建數(shù)據(jù)庫,并選擇與原卸出數(shù)據(jù)一致的字符集,然后IMP數(shù)據(jù),這種情況僅僅適用于空庫和具有同一種字符集的數(shù)據(jù)。

解決這類問題,也可以先將數(shù)據(jù)加載到具有相同字符集的服務(wù)器上,然后用轉(zhuǎn)換工具卸出為foxbase 格式或access格式數(shù)據(jù)庫,再用轉(zhuǎn)換工具轉(zhuǎn)入到不同字符集的Oracle數(shù)據(jù)庫中,這樣就避免了Oracle字符集的困擾。目前數(shù)據(jù)庫格式轉(zhuǎn)換的工具很多,像power builder5.0以上版本提供的pipeline及Microsoft Access數(shù)據(jù)庫提供的數(shù)據(jù)導(dǎo)入/導(dǎo)出功能等。

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

對于這種情況,目前為止都還沒有太好的解決方法。

通過上面的了解,我們知道,導(dǎo)致在后期使用數(shù)據(jù)庫時(shí)出現(xiàn)種種關(guān)于字符集的問題,多半是由于在數(shù)據(jù)庫設(shè)計(jì)、安裝之初沒有很好地考慮到以后的需要,所以,我們完全可以通過在服務(wù)器上和客戶端使用相同的字符集來避免由此類問題引出的麻煩

怎樣修改查看Oracle字符集

a.數(shù)據(jù)庫服務(wù)器字符集select * from nls_database_parameters,其來源于props$,是表示數(shù)據(jù)庫的字符集。

b.客戶端字符集環(huán)境select * from nls_instance_parameters,其來源于v$parameter,

表示客戶端的字符集的設(shè)置,可能是參數(shù)文件,環(huán)境變量或者是注冊表

c.會話字符集環(huán)境 select * from nls_session_parameters,其來源于v$nls_parameters,表示會話自己的設(shè)置,可能是會話的環(huán)境變量或者是alter session完成,如果會話沒有特殊的設(shè)置,將與nls_instance_parameters一致。

客戶端的字符集要求與服務(wù)器一致,才能正確顯示數(shù)據(jù)庫的非Ascii字符。如果多個(gè)設(shè)置存在的時(shí)候,alter session環(huán)境變量注冊表參數(shù)文件

實(shí)際情況

我用select * from nls_database_parameters

PARAMETER VALUE

------------------------------ ------------------------------

NLS_LANGUAGE AMERICAN

NLS_TERRITORY AMERICA

NLS_CURRENCY $

NLS_ISO_CURRENCY AMERICA

NLS_NUMERIC_CHARACTERS .,

NLS_CHARACTERSET ZHS16GBK

NLS_CALENDAR GREGORIAN

NLS_DATE_FORMAT DD-MON-RR

NLS_DATE_LANGUAGE AMERICAN

NLS_SORT BINARY

NLS_TIME_FORMAT HH.MI.SSXFF AM

PARAMETER VALUE

------------------------------ ------------------------------

NLS_TIMESTAMP_FORMAT DD-MON-RR HH.MI.SSXFF AM

NLS_TIME_TZ_FORMAT HH.MI.SSXFF AM TZR

NLS_TIMESTAMP_TZ_FORMAT DD-MON-RR HH.MI.SSXFF AM TZR

NLS_DUAL_CURRENCY $

NLS_COMP BINARY

NLS_LENGTH_SEMANTICS BYTE

NLS_NCHAR_CONV_EXCP FALSE

NLS_NCHAR_CHARACTERSET AL16UTF16

NLS_RDBMS_VERSION 10.2.0.1.0

說明我在創(chuàng)建數(shù)據(jù)庫時(shí)指定的字符集是ZHS16GBK,我用

update sys.props$ set value$='AL32UTF8' where name='NLS_CHARACTERSET';

修改了字符集,但插入中文時(shí)仍然有問題,這或許就如上面資料所說的通過修改SYS.PROPS$來修改主要是對應(yīng)客戶端的顯示,與存儲無關(guān),

所以仍舊是亂碼。

然后我重新創(chuàng)建了個(gè)數(shù)據(jù)庫,指定字符集為AL32UTF8,插入中文就沒問題了。

可見我們?nèi)绻跀?shù)據(jù)庫中顯示中文,在創(chuàng)建數(shù)據(jù)庫時(shí)一定喲指定好所用的字符集。

oracle表的partition名亂碼

oracle表的partition名亂碼查詢:

1、查看服務(wù)器端編碼

Select userenv('language') from dual;

我實(shí)際查到的結(jié)果為: AMERICAN_AMERICA.UTF8(每人查到的可能不一樣)

2、執(zhí)行語句 select * from V$NLS_PARAMETERS

查看第一行中PARAMETER項(xiàng)中為NLS_LANGUAGE對應(yīng)的VALUE項(xiàng)中是否和第一步得到的值一樣。

如果不是,需要設(shè)置環(huán)境變量。

3、設(shè)置環(huán)境變量

計(jì)算機(jī)--屬性-- 高級系統(tǒng)設(shè)置-- 環(huán)境變量 --系統(tǒng)環(huán)境變量--新建

設(shè)置變量名:NLS_LANG

變量值:第1步查到的值,AMERICAN_AMERICA.UTF8(以你第一步查到的為準(zhǔn))

分享題目:oracle亂碼怎么設(shè)置,oracle命令行亂碼
文章源于:http://chinadenli.net/article0/hegdio.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供電子商務(wù)、品牌網(wǎng)站建設(shè)、服務(wù)器托管、品牌網(wǎng)站設(shè)計(jì)、網(wǎng)站制作、定制網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站建設(shè)網(wǎng)站維護(hù)公司