Зачастую при работе с разными базами клиентов приходится менять кодировку:
Для этого есть несколько вариантов, в зависимости от платформы на которой работаем.
Windows:
меняем значение в реестре:
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\ORACLE\KEY_OraClient11g_home1
Пример:
NLS_LANG=AMERICAN_AMERICA.CL8MSWIN1251
NLS_LANG=AMERICAN_AMERICA.AL32UTF8
В командной строке:
set NLS_LANG=AMERICAN_AMERICA.AL32UTF8
set NLS_LANG=AMERICAN_AMERICA.CL8MSWIN1251
После '=' пишем язык_территорию.чарсет который нам нужен.
Linux/UNIX:
export NLS_LANG=AMERICAN_AMERICA.CL8MSWIN1251
export NLS_LANG=AMERICAN_AMERICA.AL32UTF8
Формат времени и даты у нас на компьютере может отличаться от формата в базе, для приведения в тот же вид используем:
alter session set nls_date_format='DD-MM-YYYY'; --1--
--1-- Или другой формат по необходимости.
Подобным образом меняются любые параметры NLS
Просмотр текущих значений NLS в базе:
SQL> show parameter nlsNAME TYPE VALUE
------------------------------------ ----------- ------------------------------
nls_calendar string GREGORIAN
nls_comp string BINARY
nls_currency string $
nls_date_format string DD/MM/YY
nls_date_language string AMERICAN
nls_dual_currency string $
nls_iso_currency string AMERICA
nls_language string RUSSIAN
nls_length_semantics string BYTE
nls_nchar_conv_excp string FALSE
nls_numeric_characters string .,
nls_sort string BINARY
nls_territory string CIS
nls_time_format string HH.MI.SSXFF AM
nls_time_tz_format string HH.MI.SSXFF AM TZR
nls_timestamp_format string DD-MON-RR HH.MI.SSXFF AM
nls_timestamp_tz_format string DD-MON-RR HH.MI.SSXFF AM TZR
Комментариев нет:
Отправить комментарий