Проблема чтения данных nchar из базы данных oracle - PullRequest
1 голос
/ 30 апреля 2009

У меня есть база данных оракула, для которой набор символов nls установлен на ALS32UTF8, а набор символов nls nchar установлен на UTF8.

Но если я вставлю какие-либо данные в столбец nvarchar в таблице.

После того, как я выберу данные, я получаю ???.

Почему это так?

Самое смешное, что с помощью TOAD я могу читать правильные данные nvarchar, используя просмотр схемы -> data

Но если я использую sql для выбора, я получаю ???.

Есть идеи у кого-нибудь и как это решить?

Ответы [ 2 ]

1 голос
/ 30 апреля 2009

Что такое настройка NLS_LANG на вашем клиенте? Для хорошей ссылки на параметры NLS, прочитайте это FAQ от Oracle. Дополнительную информацию о Юникоде см. В этом эссе Джоэла Спольски.

0 голосов
/ 30 июня 2011

Вам необходимо установить для клиентов NLS_LANG значение utf.

sqlplus использует эти переменные окружения (параметры реестра в windows): (Вам может потребоваться использовать sqlplusw.exe, чтобы использовать utf-8 в Windows.)

NLS_LANG = AMERICAN_AMERICA.AL32UTF8 LC_CTYPE = "en_US.UTF-8" ORA_NCHAR_LITERAL_REPLACE = истина

См. Также: Вставка национальных символов в колонку NCHAR или NVARCHAR оракула не работает

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