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

09.12.2012

Разбираемся с клиентскими кодировками в работе с базой данных Oracle.

Для правильного вывода кириллицы из базы данных на экран мы должны установить эти переменные так, чтобы они совпали:

  • CHARACTERSET при создании базы данных
  • переменную окружения NLS_LANG для клиента (sqlplus)
  • переменную окружения LANG для командной оболочки (bash)
  • в дополнение, кодовую страницу нашей программы эмулятора терминала (gnome-terminal)
 select * from nls_database_parameters where parameter like '%CHARACTERSET';
PARAMETER                  VALUE
------------------------------------
NLS_CHARACTERSET           AL32UTF8
NLS_NCHAR_CHARACTERSET     AL16UTF16

Проверим, какую кодировку будут использовать наш клиент (sqlplus) и оболочка Линукс (bash).

> env | grep LANG
NLS_LANG=English_America.AL32UTF8
LANG=en_US.utf8

Источник http://www.read-and-think.org/oracle_globalization_support_russian_cyrillic.html