[英]How can I get japanese character correctly shown in oracle database
我知道oracle數據庫有兩個字符集: NLS_NCHAR_CHARACTERSET
和NLS_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.