真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

如何解決oracle亂碼 oracle 亂碼

ORACLE顯示中文為亂碼,怎么修改?

在Redhat上安裝Oracle10g沒有設(shè)定字符集,采用的是操作系統(tǒng)默認(rèn)字符集:WE8ISO8859P1,將字符集修改為:ZHS16GBK。由于過程不可逆,首先需要備份數(shù)據(jù)庫。\x0d\x0a1.數(shù)據(jù)庫全備\x0d\x0a\x0d\x0a2.查詢當(dāng)前字符集\x0d\x0aSQLselect*fromnls_database_parameterswhereparameter='NLS_CHARACTERSET';\x0d\x0aPARAMETERVALUE\x0d\x0a--------------------------------------------------------------------------------\x0d\x0aNLS_CHARACTERSETWE8ISO8859P1\x0d\x0a\x0d\x0a3.關(guān)閉數(shù)據(jù)庫\x0d\x0aSQLshutdownimmediate\x0d\x0aDatabaseclosed.\x0d\x0aDatabasedismounted.\x0d\x0aORACLEinstanceshutdown.\x0d\x0a\x0d\x0a4.啟動數(shù)據(jù)庫到mount狀態(tài)\x0d\x0aSQLstartupmount\x0d\x0aORACLEinstancestarted.\x0d\x0aTotalSystemGlobalArea205520896bytes\x0d\x0aFixedSize1266608bytes\x0d\x0aVariableSize100666448bytes\x0d\x0aDatabaseBuffers100663296bytes\x0d\x0aRedoBuffers2924544bytes\x0d\x0aDatabasemounted.\x0d\x0a\x0d\x0a5.限制session\x0d\x0aSQLaltersystemenablerestrictedsession;\x0d\x0aSystemaltered.\x0d\x0a\x0d\x0a6.查詢相關(guān)參數(shù)并修改\x0d\x0aSQLshowparameterjob_queue_processes;\x0d\x0aNAMETYPEVALUE\x0d\x0a-----------------------------------------------------------------------------\x0d\x0ajob_queue_processesinteger10\x0d\x0a\x0d\x0aSQLshowparameteraq_tm_processes;\x0d\x0aNAMETYPEVALUE\x0d\x0a-----------------------------------------------------------------------------\x0d\x0aaq_tm_processesinteger0\x0d\x0a\x0d\x0aSQLaltersystemsetjob_queue_processes=0;\x0d\x0aSystemaltered.\x0d\x0a\x0d\x0a7.打開數(shù)據(jù)庫\x0d\x0aSQLalterdatabaseopen;\x0d\x0aDatabasealtered.\x0d\x0a\x0d\x0a8.修改字符集\x0d\x0aSQLalterdatabasecharactersetZHS16GBK;\x0d\x0aalterdatabasecharactersetZHS16GBK\x0d\x0a*\x0d\x0aERRORatline1:\x0d\x0aORA-12712:newcharactersetmustbeasupersetofoldcharacterset\x0d\x0a\x0d\x0a出現(xiàn)錯誤提示,新字符集必須是老字符集的超集,也就原來字符集是新字符集的子集,可以再Oracle官方文檔上查詢字符集包含關(guān)系。下面使用Oracle內(nèi)部命令internal_use,跳過超集檢查,生產(chǎn)環(huán)境不建議使用此方法。\x0d\x0a\x0d\x0aSQLalterdatabasecharactersetinternal_useZHS16GBK;\x0d\x0aDatabasealtered.\x0d\x0a\x0d\x0a9.查詢當(dāng)前字符集\x0d\x0aSQLselect*fromnls_database_parameterswhereparameter='NLS_CHARACTERSET';\x0d\x0aPARAMETERVALUE\x0d\x0a--------------------------------------------------------------------------------\x0d\x0aNLS_CHARACTERSETZHS16GBK\x0d\x0a\x0d\x0a10.關(guān)閉數(shù)據(jù)庫\x0d\x0aSQLshutdownimmediate\x0d\x0aDatabaseclosed.\x0d\x0aDatabasedismounted.\x0d\x0aORACLEinstanceshutdown.\x0d\x0a\x0d\x0a11.啟動數(shù)據(jù)庫到mount狀態(tài)\x0d\x0aSQLstartupmount\x0d\x0aORACLEinstancestarted.\x0d\x0aTotalSystemGlobalArea205520896bytes\x0d\x0aFixedSize1266608bytes\x0d\x0aVariableSize100666448bytes\x0d\x0aDatabaseBuffers100663296bytes\x0d\x0aRedoBuffers2924544bytes\x0d\x0aDatabasemounted.\x0d\x0a\x0d\x0a12.將相關(guān)參數(shù)改回原來值\x0d\x0aSQLaltersystemsetjob_queue_processes=10;\x0d\x0aSystemaltered.\x0d\x0a\x0d\x0a13.打開數(shù)據(jù)庫\x0d\x0aSQLalterdatabaseopen;\x0d\x0aDatabasealtered.

目前累計(jì)服務(wù)客戶近1000家,積累了豐富的產(chǎn)品開發(fā)及服務(wù)經(jīng)驗(yàn)。以網(wǎng)站設(shè)計(jì)水平和技術(shù)實(shí)力,樹立企業(yè)形象,為客戶提供成都網(wǎng)站設(shè)計(jì)、做網(wǎng)站、網(wǎng)站策劃、網(wǎng)頁設(shè)計(jì)、網(wǎng)絡(luò)營銷、VI設(shè)計(jì)、網(wǎng)站改版、漏洞修補(bǔ)等服務(wù)。創(chuàng)新互聯(lián)公司始終以務(wù)實(shí)、誠信為根本,不斷創(chuàng)新和提高建站品質(zhì),通過對領(lǐng)先技術(shù)的掌握、對創(chuàng)意設(shè)計(jì)的研究、對客戶形象的視覺傳遞、對應(yīng)用系統(tǒng)的結(jié)合,為客戶提供更好的一站式互聯(lián)網(wǎng)解決方案,攜手廣大客戶,共同發(fā)展進(jìn)步。

oracle數(shù)據(jù)庫亂碼怎么解決

一、pl/sql developer 中文字段顯示亂碼

原因:因?yàn)閿?shù)據(jù)庫的編號格式和pl /sql developer的編碼格式不統(tǒng)一造成的。

二、查看和修改oracle數(shù)據(jù)庫字符集:

select userenv('language') from dual;

查詢結(jié)果:

SIMPLIFIED CHINESE_CHINA.AL32UTF8

--修改oracle數(shù)據(jù)庫字符集:(在SQL Plus中)

sql conn / as sysdba;

sql shutdown immediate;

database closed.

database dismounted.

oracle instance shut down.

sql startup mount;

oracle instance started.

total system global area 135337420 bytes

fixed size 452044 bytes

variable size 109051904 bytes

database buffers 25165824 bytes

redo buffers 667648 bytes

database mounted.

sql alter system enable restricted session;

system altered.

sql alter system set job_queue_processes=0;

oracle 亂碼 如何解決

1、對于Oracle Enterprise Manager中的所有工具,有一個配置文件名為dbappscfg.properties,修改該文件即可解決上述問題。這個文件的位置在$ORACLE_HOME\sysman\config目錄下,用任何的文本編輯器打開該文件,在這個文件里面,找到這樣一項(xiàng),

# SQLPLUS_NLS_LANG=AMERICAN_AMERICA.WE8ISO8859P1

2、去掉注釋符#,同時(shí)將其修改為

SQLPLUS_NLS_LANG=AMERICAN_AMERICA.ZHS16GBK

3、對于Windows操作系統(tǒng),還需要修改一項(xiàng),在文件中找到# SQLPLUS_SYSTEMROOT=c:\\WINNT40,去掉注釋符,將其修改為你所在機(jī)器的操作系統(tǒng)主目錄。如操作系統(tǒng)的主目錄在D盤的Winnt下,則將其修改為

SQLPLUS_SYSTEMROOT=d:\\WINNT。

對于后面一項(xiàng)的修改只對Windows操作系統(tǒng)進(jìn)行,對UNIX操作系統(tǒng)則不需要。如果在Windows操作系統(tǒng)中不修改該項(xiàng),在Oracle Enterprise Manager中,連接系統(tǒng)時(shí),會提示如下的錯誤:

ORA-12560 TNS:protocol adapter error

或者

ORA-12545 Connect failed because target host or object does not exist

4、修改完成后,保存文件,退出編輯。重新連接SQL PLUS Worksheet,字符集亂碼問題得到解決,顯示正確的簡體中文字符集。

問題: 使用Oracle Instant Client 出現(xiàn) ORA-12705: Cannot access NLS data files or invalid environment specified 錯誤。

如果是Windows平臺,注冊表里 \HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE 查找鍵 NLS_LANG,這個鍵由Oracle標(biāo)準(zhǔn)客戶端安裝創(chuàng)建, 值是 NA 。這個導(dǎo)致了 ORA-12705錯誤。解決方法就是改名 NLS_LANG。

Linux下 如果環(huán)境變量 NLS_LANG 值是NA 會引起 ORA-12705 錯誤,解決方法是刪除這個變量

unset NLS_LANG

如何解決插入Oracle數(shù)據(jù)中文為亂碼問題

1、首先,Oracle查詢編碼:select * from v$nls_parameters;//看看是否GBK

2、如果是用Servlet或者別的,插入數(shù)據(jù)之前輸出一下,看看是否亂碼。

比如:

doPost()

//設(shè)置接受編碼,但你的頁面也必須是UTF-8

response.setContentType("text/html;charset=UTF-8");

doGet()

//下面方式轉(zhuǎn)一下碼

String username = new String(request.getParameter("username").getBytes("ISO-8859-1"),"UTF-8");

解決plsql鏈接oracle查詢出漢字顯示為亂碼的問題

1.首先通過SQL語句:

select userenv('language') from dual;

查詢出服務(wù)器端的編碼,如我自己的查詢結(jié)果為:

USERENV('LANGUAGE')

AMERICAN_AMERICA.ZHS16GBK

2.添加環(huán)境變量NLS_LANG ,值為: AMERICAN_AMERICA.ZHS16GBK,由此即可解決該問題。

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替換原字符集,重新啟動計(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字符。如果多個設(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)建了個數(shù)據(jù)庫,指定字符集為AL32UTF8,插入中文就沒問題了。

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


網(wǎng)頁題目:如何解決oracle亂碼 oracle 亂碼
文章起源:http://weahome.cn/article/hjjoid.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部