我知道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