Как в Oracle хранить русские кавычки «»?

6yrop

Сейчас кавычки записались как вопросики. Если я правильно понял, то после создания базы уже не поменяешь Character Sets. База создана давно. Какие остаются варианты? Сделать у колонки тип nvarchar2?

6yrop

Сейчас
NLS_CHARACTERSET CL8ISO8859P5
NLS_NCHAR_CHARACTERSET AL16UTF16

Имеются буквы многих языков, использующих кириллицу, однако в целом ISO 8859-5 — не очень удобная кодировка, поскольку в ней отсутствуют многие нужные символы, такие как тире (— кавычки-ёлочки («» градус (°) и др. Нет также буквы Ґ, используемой в украинской письменности.
http://ru.wikipedia.org/wiki/ISO_8859-5

marat7256

Гугл говорит, что изменить чарсет можно, например: web-страница
Но сам я это не проверял.

6yrop

понятно что можно, в компьютере всё можно, но смотри насколько геморойно, всю базу надо останавливать и перелопачивать. И потом баги собирать по всем приложениям.

marat7256

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

kill-still

ну, ты ссзб - как можно в 2014 что-то отличное от UTF-№ использовать? :(

marat7256

Полагаю, это наследство от других разрабов.

mbolik1

Какие остаются варианты?
1. Nvarchar2
2. Если у клиента и у базы совпадают NLS_TERRITORY и NLS_LANGUAGE, то проверка кодировки не происходит и записывается/отдаётся как есть.

bleyman

Сейчас кавычки записались как вопросики. Если я правильно понял, то после создания базы уже не поменяешь Character Sets. База создана давно. Какие остаются варианты? Сделать у колонки тип nvarchar2?
Да нет, можно, и даже легко. Ещё нужно будет перекодировать все существующие таблицы у твоих юзеров, и, блджад, это делается скриптом который ты НЕ ЗАПУСКАЕШЬ из-под sys, ок? Потому что this kills the db.
Оставить комментарий
Имя или ник:
Комментарий: