Особые символы разработчика SQL - PullRequest
0 голосов
/ 24 октября 2018

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

Я пытаюсь составить предложения по обновлению для столбцов Varchar2 () со строками, содержащими специальные символы, такие как á, é, í, ó, ú, (испанский) и т. д.

Каждый раз, когда я извлекаю данные из этого столбца, например, вместо того, чтобы видеть «ó», я получаю «é« ‡ »или« 髇 ».

Я пишу Обновите предложения вроде:

UPDATE TABLE_1
SET DESCRIPTION = 'THIS IS A TEXT WITH SPECIAL CHAR ó ÉND'
WHERE ID = '1';

, а когда я это сделаю:

SELECT ID ||' | '|| DESCRIPTION FROM TABLE_1 WHERE ID = '1';'

Я получил:

1 | THIS IS A TEXT WITH SPECIAL CHAR 髇 END

Я используюSQL Developer Version 4.0.3

Спасибо за помощь.

1 Ответ

0 голосов
/ 24 октября 2018

Вы должны проверить Nlslang в вашем реестре и в наборе символов базы данных, похоже, они отличаются.

Пример:

SELECT * FROM v$nls_parameters WHERE parameter LIKE 'NLS_CHARACTERSET'
/

PARAMETER                                                        VALUE
---------------------------------------------------------------- ----------------------------------------------------------------
NLS_CHARACTERSET                                                 AL32UTF8

из реестра перейдите в oracle registery и в nlslangдобавьте значение American_America.Al32UTF8 (в качестве примера) аналогично тому, что вы имеете в базе данных.

Кстати, иногда также выдается проблема из языка на панели управления, если вы хотите использовать французские символы, лучшеназначьте это по-французски.(Панель управления \ Часы, Язык и Регион ... затем на административной вкладке)

...