2011-11-23 59 views
4

如何在Oracle中配置UTF8字符集?我試着更新如下:如何在Oracle中配置UTF8字符集?

UPDATE NLS_DATABASE_PARAMETERS SET VALUE = 'UTF8' WHERE PARAMETER='NLS_CHARACTERSET'; 

但錯誤顯示這樣的失敗太那個

ERROR at line 1: 
ORA-01031: insufficient privileges 
+1

你應該很高興你有權限錯誤,正如解釋下面的標記,它比簡單的更新更復雜 – mcha

回答

10

呀,好東西......這不是個好主意...... :-)

首先,對於Oracle中的UTF-8支持,您需要使用'AL32UTF8'字符集。

這是一個全新的數據庫嗎?還是已經有數據的現有數據庫?

如果我們正在談論新的數據庫,那麼您應該刪除數據庫,然後再創建一次,在創建數據庫時指定DBCA中的AL32UTF8字符集。

如果它是一個現有的數據庫,其中已經有數據,它會更復雜一些。它目前使用什麼字符集? AL32UTF8是該字符集的直接超集嗎?

這實在是一個不平凡的課題。總之,您需要知道當前的字符集以及要移動到的字符集,並且需要運行'CSSCAN'實用程序來檢查兼容性和數據轉換問題。

對於完整的故事,你應該檢查在MOS以下文件:

改變NLS_CHARACTERSET到AL32UTF8/UTF8(Unicode)的[ID 260192.1]

希望有所幫助。

相關問題