加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php – 如何在oracle数据库中正确显示日文字符

发布时间:2020-12-13 22:49:53 所属栏目:PHP教程 来源:网络整理
导读:我知道oracle数据库有两个字符集: NLS_NCHAR_CHARACTERSET和NLS_CHARACTERSET. 我把它们设置为: NLS_CHARACTERSET WE8MSWIN1252NLS_NCHAR_CHARACTERSET UTF8 当我创建数据库时. 另外我创建我的表使用NVARCHAR而不是VARCHAR,所以它应该保存使用UTF8: ID NU
我知道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://php.net/manual/en/function.base64-encode.php字符串.最糟糕的情况.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读