a亚洲精品_精品国产91乱码一区二区三区_亚洲精品在线免费观看视频_欧美日韩亚洲国产综合_久久久久久久久久久成人_在线区

首頁 > 數據庫 > Oracle > 正文

Oracle 8i字符集亂碼問題析及其解決辦法

2024-08-29 13:57:21
字體:
來源:轉載
供稿:網友
正在看的ORACLE教程是:Oracle 8i字符集亂碼問題析及其解決辦法。一、問題描述

  SQL Plus WorkSheet是一個窗口圖形界面的SQL語句編輯器,對于那些喜歡窗口界面而不喜歡字符界面的用戶,該工具相對SQL/PLUS受到了很大的歡迎。但從Oracle 8i以后,如果安裝Oracle 8i時選取的是別于英語的字符集,對于我們中國,通常會選取簡體中文字符集(ZHS16GBK),安裝成功后,運行SQL Plus WorkSheet程序,會出現所有的中文顯示以及查詢結果均為亂碼的情況。

  二、問題分析

  最初出現該問題,首先懷疑就是安裝時字符集設置有問題,也就是說沒有設置正確的簡體中文字符集。首先檢查數據庫字符集,在SQL/PLUS中,運行下面的SQL語句,檢查所連接數據庫的字符集:


  查詢結果發現數據庫安裝時所選字符集為簡體中文ZHS16GBK,說明安裝時字符集設置完全正確。第二步開始懷疑是用戶客戶端字符集問題,檢查客戶端注冊表,打開注冊表編輯程序(RegEdit),在HKEY_LOCAL_MACHINE/SOFTWARE/ORACLE/NLS_LANG,發現Oracle客戶端字符集為AMERICAN_AMERICA.ZHS16GBK,設置也完全正確,可以排除是客戶端字符集設置錯誤的問題。同時還有一個現象就是在同一個客戶端機器上SQL/PLUS中的查詢字符集顯示完全正常,這也說明不是字符集設置問題,而是系統程序SQL/Plus Worksheet的問題。

  在Oracle 8i以前的版本中,從來沒有出現過這樣的情況,這應該和Oracle版本有關,我們知道Oracle 8i和它前面的版本一個顯著的區別就是大部分的Oracle系統程序,現在均采用Java驅動,其實這也就是產生字符集亂碼問題的根本所在。非Java驅動的程序,如SQL*Plus,有一個系統參數NLS_LANG,該參數在UNIX系統中設置在環境變量中,在Windows操作系統中設置在注冊表中,這個參數決定了客戶端應用程序的字符集。而對于基于Java應用的程序,如現在遇到的SQL*PLus Worksheet,NLS_LANG參數對這類程序是不起任何作用的。

  三、解決方案

  找到了問題產生的原因后,下面來討論如何解決該問題。對于Oracle Enterprise Manager中的所有工具,有一個配置文件名為dbappscfg.properties,修改該文件即可解決上述問題。這個文件的位置在$ORACLE_HOME/sysman/config目錄下,用任何的文本編輯器打開該文件,在這個文件里面,找到這樣一項,


  去掉注釋符#,同時將其修改為SQLPLUS_NLS_LANG=AMERICAN_AMERICA.ZHS16GBK。

  對于Windows操作系統,還需要修改一項,在文件中找到# SQLPLUS_SYSTEMROOT=c://WINNT40,去掉注釋符,將其修改為你所在機器的操作系統主目錄。如操作系統的主目錄在D盤的Winnt下,則將其修改為 SQLPLUS_SYSTEMROOT=d://WINNT。

  對于后面一項的修改只對Windows操作系統進行,對UNIX操作系統則不需要。如果在Windows操作系統中不修改該項,在Oracle Enterprise Manager中,連接系統時,會提示如下的錯誤:


  或者 


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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 伦理一区| 亚洲黄页 | 欧美激情小视频 | 久久免费视频网 | 国产成人亚洲欧 | 四虎黄色网 | 欧美区在线 | 最新精品久久 | 中文字幕乱码一区二区三区 | 国产女人和拘做受在线视频 | 国产高清不卡 | 精品国产乱码久久久久久1区二区 | 九九热在线视频 | 精品96久久久久久中文字幕无 | 中文字幕av一区二区三区 | 色黄网站 | 亚洲精品电影在线观看 | 午夜精品一区二区三区在线 | 国产二区三区 | 亚洲精品日韩av | 中文字幕在线电影观看 | 久久九九国产 | 国产精品久久久久久久久久三级 | 国产露脸150部国语对白 | 亚洲精品入口a级 | 在线日韩视频 | 99re国产视频 | 欧美性一级 | 二区在线视频 | 91.com在线 | 亚洲专区在线播放 | 日本超碰 | 久久亚洲精品中文字幕蜜潮电影 | 国产91在线观看 | 最新中文字幕在线观看 | 国产精品99久久久久久久vr | 欧美精品一级 | 日韩有码一区 | 国产精品视频久久久 | 日韩欧美中文字幕视频 | 亚洲免费在线视频 |