Как настроить набор символов UTF8 в Oracle? - PullRequest
4 голосов
/ 23 ноября 2011

Как настроить набор символов UTF8 в Oracle? Я попытался обновить следующим образом:

UPDATE NLS_DATABASE_PARAMETERS SET VALUE = 'UTF8' WHERE PARAMETER='NLS_CHARACTERSET';

Но ошибка показывает вот так

ERROR at line 1:
ORA-01031: insufficient privileges

1 Ответ

11 голосов
/ 23 ноября 2011

Да, хорошо, что тоже не удалось ... это не очень хорошая идея ...: -)

Прежде всего, для поддержки UTF-8 в Oracle, вы захотите использовать 'AL32UTF8'набор символов.

Это новая база данных?Или существующая база данных с данными уже в ней?

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

Если это существующая база данных, в которой уже есть данные, это немного сложнее.Какой набор символов он использует в настоящее время?Является ли AL32UTF8 прямым надмножеством этого набора символов?

Это действительно нетривиальный предмет.Короче говоря, вам нужно знать текущий набор символов и набор символов, к которому вы переходите, и вам нужно запустить утилиту 'CSSCAN', чтобы проверить совместимость и проблемы с преобразованием данных.

Дляполная история, вы должны проверить следующий документ на MOS:

Изменение NLS_CHARACTERSET на AL32UTF8 / UTF8 (Unicode) [ID 260192.1]

Надеюсь, это поможет.

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