簡體   English   中英

如何在oracle數據庫中正確顯示日文字符

[英]How can I get japanese character correctly shown in oracle database

我知道oracle數據庫有兩個字符集: NLS_NCHAR_CHARACTERSETNLS_CHARACTERSET

我把它們設置為:

NLS_CHARACTERSET           WE8MSWIN1252
NLS_NCHAR_CHARACTERSET     UTF8

當我創建數據庫時。

另外我創建我的表使用NVARCHAR而不是VARCHAR ,所以它應該保存使用UTF8

ID          NUMBER      
EMAIL       NVARCHAR2(255)  
USER_NAME   NVARCHAR2(255)      
POST_AT     DATE
CONTENTS    NVARCHAR2(255)  

但是我無法獲得正確的輸出。 當我插入包含日文字符的行時,它只是給出“???” 當我在終端檢查時。

我不知道為什么它不起作用。 有沒有人知道解決這個問題的方法?

另外,如果我不在乎它是如何在數據庫中保存的,只是想從數據庫中取出后得到正確的輸出,有沒有正確的解碼方法? (我已經嘗試了幾種轉換編碼但不工作的方法)

我使用PHP的OCI8來訪問數據庫。 oracle數據庫的版本是oracle 11gR2 for linux.x64

如果一切都失敗了,你可以http://tp.net/manual/en/function.base64-encode.php插入字符串並在獲取后解碼。 最差的情況。

謝謝你的幫助。 畢竟我無法解決這個問題而無需重新創建數據庫並重置字符集...我學到的一件事是創建oracle數據庫時必須注意初始設置...

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM