【发布时间】:2017-11-13 13:16:03
【问题描述】:
这个有四个字节的日文字符????在Oracle数据库中保存为????,而其他日文字符正确保存。
我的rails应用boot.rb中的配置包含:
ENV['NLS_LANG'] = 'AMERICAN_AMERICA.UTF8'
和sqldeveloper的oracle db有
NLS_LANGUAGE AMERICAN
NLS_TERRITORY AMERICA
NLS_CHARACTERSET JA16SJISTILDE
该列的数据类型是NVARCHAR2。
【问题讨论】:
-
当您的列类型为
NVARCHAR2时,NLS_NCHAR_CHARACTERSET适用,而不是NLS_CHARACTERSET。 -
谢谢! NLS_NCHAR_CHARACTERSET 是 AL16UTF16
-
你从
select UNISTR('\D842\DFB7') from dual;得到什么?选择DUMP(<column_name>, 1016) from ...会得到什么? -
没有 Ruby/Rails 你能做到这一点吗?
-
select DUMP(
, 1016) 返回 Typ=1 Len=10 CharacterSet=AL16UTF16: 0,4e,0,61,0,6d,0,65,0,20 并从双重返回中选择 UNISTR('\D842\DFB7') ????
标签: ruby-on-rails ruby oracle activerecord cjk