程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Oracle數據庫 >> Oracle數據庫基礎 >> 修改Oracle數據庫中亂碼問題

修改Oracle數據庫中亂碼問題

編輯:Oracle數據庫基礎
一個同事使用Windows操作系統中文環境安裝完10g以後,因為工作需要需要使用日文的操作系統。相應的數據庫也應該是日文。這時候數據庫中默認的為中文的字符集,因為安裝數據庫的時候默認的字符集是根據系統而來的。改過操作系統的語言設置以後,Oracle10g內部出現亂碼。

 一般情況下這種的最好該一下注冊表的字符集(1)。 然後重建一個日文字符集的數據庫就可以解決問題。

假如是空數據庫,那麼可以通過(1,2)來實現。而不用重新創建數據庫

解決辦法

1. 修改注冊表的字符集信息

在注冊表的HKEY_LOCAL_MacHINE\SOFTWARE\Oracle裡有三個需要修改

HKEY_LOCAL_MacHINE\SOFTWARE\Oracle
HKEY_LOCAL_MacHINE\SOFTWARE\Oracle\HOME

修改其下的NLS_LANG參數為JAPANESE_JAPAN.JA16SJIS
重新啟動庫,整個庫就變成日文的了。


2.查看系統配置信息
SELECT * FROM sys.props$ 可以查看系統配置信息
 
可以更新系統信息
update   sys.props$   set   value$=''JA16SJIS''   WHERE   name   =   ''NLS_CHARACTERSET'';   
update   sys.props$   set   value$=''JA16SJIS''   WHERE   name   =   ''NLS_CHARACTERSET'' 

3.然後更新列信息
 
查詢字符集的ID 和name
SELECT NLS_CHARSET_ID(VALUE) NLS_CHARSET_ID,VALUE NLS_CHARSET_NAME
FROM V$NLS_VALID_VALUES
WHERE PARAMETER = ''CHARACTERSET''
ORDER BY NLS_CHARSET_ID(VALUE)
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved