Кодировка символов Oracle - неправильно отображаются определенные символы - PullRequest
1 голос
/ 08 июня 2011

Веб-браузер некорректно отображает определенные норвежские символы.
конфигурация БД:

NLS_LANGUAGE AMERICAN
NLS_TERRITORY AMERICA
NLS_CURRENCY $
NLS_ISO_CURRENCY AMERICA
NLS_NUMERIC_CHARACTERS .,
NLS_CALENDAR GREGORIAN
NLS_DATE_FORMAT DD-MON-RR
NLS_DATE_LANGUAGE AMERICAN
NLS_CHARACTERSET WE8ISO8859P1
NLS_SORT BINARY
NLS_TIME_FORMAT HH.MI.SSXFF AM
NLS_TIMESTAMP_FORMAT DD-MON-RR HH.MI.SSXFF AM
NLS_TIME_TZ_FORMAT HH.MI.SSXFF AM TZR
NLS_TIMESTAMP_TZ_FORMAT DD-MON-RR HH.MI.SSXFF AM TZR
NLS_DUAL_CURRENCY $
NLS_NCHAR_CHARACTERSET AL16UTF16
NLS_COMP BINARY
NLS_LENGTH_SEMANTICS BYTE

Проблема в NLS_CHARACTERSET?

1 Ответ

2 голосов
/ 09 июня 2011

Если база данных не была настроена на использование многобайтового набора символов или одного набора символов, совместимого с этими норвежскими символами, то клиент ничего не сможет исправить.

Но вы можете попробовать установить переменные окружения и посмотреть, работает ли он

NLS_LANG=AMERICAN_AMERICA.AL32UTF8
export NLS_LANG

Похоже, база данных настроена на набор символов из США. Это однобайтовый "WE8ISO8859P1" и не предназначен для норвежского языка.

Современные приложения (и веб-браузеры) обычно используют UTF-8, поэтому при преобразовании данных UTF-8 в однобайтовый набор символов будет потеря информации.

Я думаю, что в долгосрочной перспективе вам лучше всего попытаться преобразовать базу данных.

http://download.oracle.com/docs/cd/B19306_01/server.102/b14225/toc.htm

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...