Как сохранить символ японского кандзи в базе данных Oracle

Это японский персонаж , который имеет четыре байта, сохраняется как ???? в базе данных Oracle, тогда как другие японские символы сохранены правильно.

Конфигурация в boot.rb из моих рельсов приложение содержит:

ENV['NLS_LANG'] = 'AMERICAN_AMERICA.UTF8'

а также sqldeveloper оракула дБ имеет

NLS_LANGUAGE    AMERICAN
NLS_TERRITORY   AMERICA
NLS_CHARACTERSET    JA16SJISTILDE

Тип данных столбца NVARCHAR2,

1 ответ

Пытаться NLS_LANG=AMERICAN_AMERICA.AL32UTF8

Набор символов Oracle UTF8 на самом деле CESU-8 в то время как AL32UTF8 широко известен UTF-8

Если вы остаетесь в Basic Multilingual Plane (BMP), то UTF8 а также AL32UTF8 равны, однако, когда у вас есть символы выше U+FFFF тогда они разные.

является U+20BB7 которая является дополнительной идеографической плоскостью

Другие вопросы по тегам