В вопросе не упоминается фактические настройки локали. Согласно Oracle, NLS_LANG
должен быть установлен в соответствии с ними. Если бы ваш фактический языковой стандарт не использовал UTF-8, вы бы получили заменяющий символ, как показано в вопросе.
Дополнительная литература:
Как правильно настроить NLS_LANG для UNIX
Чтобы указать поведение локали вашего клиентского программного обеспечения Oracle, вы должны установить параметр
NLS_LANG
. Он устанавливает язык, территорию, а также набор символов вашего клиента. Вам необходимо проверить настройки языковой среды, чтобы установить 3-е поле (набор символов)NLS_LANG
в соответствии с ним. Для этого используйте команду "locale" следующим образом:
7- Требуется ли языковой стандарт и NLS_LANG для соответствия набору символов базы данных?
Нет, настройки Locale иNLS_LANG
(и, если применимо, конфигурация telnet / ssh) должны совпадать, но ВСЕ они технически не связаны с набором символов базы данных и актуальны только для этой клиентской среды. .