Получить нац алфавит в кодировке клиента

skelet
Дата: 21.11.2008 17:24:39
Подключаемся к базе (9-ка или 10ка) с определённым NLS_LANG, (например RUSSIAN_CIS.CL8MSWIN1251) и очень хочется тупо получить строку (ну или посимвольно) национального алфавита, т.е. буковки а, б, в и т.д. в вехнел или нижнем регистве - без разницы

Таковое вообще возможно хотя бы теоретически, если можно намекните на решение.
Самому в голову пришло только в цикле от 0 до 255 сравнивать байт и upper() от него... (
andrey_anonymous
Дата: 21.11.2008 17:26:08
select 'абвгдеёжзийклмнопрстуфхцчшщъыьэюя' from dual
ZVV
Дата: 21.11.2008 17:42:35
skelet,

Так у вас в кодировке будет и русский алфавит и английский, для CL8MSWIN1251.
Какой из них вы будете считать национальным при таком подходе? :)
skelet
Дата: 21.11.2008 18:18:52
ZVV
skelet,

Так у вас в кодировке будет и русский алфавит и английский, для CL8MSWIN1251.
Какой из них вы будете считать национальным при таком подходе? :)


да пусть оба будут, латиницу по первому биту отличить от русского не проблема :)
andrey_anonymous
Дата: 21.11.2008 18:20:35
skelet
да пусть оба будут, латиницу по первому биту отличить от русского не проблема :)

....мдааа....
И что, в любой-любой кодировке?
andrey_anonymous
Дата: 21.11.2008 18:33:47
andrey_anonymous
select 'абвгдеёжзийклмнопрстуфхцчшщъыьэюя' from dual

Если кому-то непонятно что имеется ввиду, то:
SQL> select * from rus_alphabet;

AL_STR
------------------------------------------------------------------
абвгдеёжзийклмнопрстуфхцчшщъыьэюя

SQL> host echo $NLS_LANG
.UTF8

SQL>
.....
SQL> host set NLS_LANG
NLS_LANG=.CL8MSWIN1251

SQL> host chcp
Текущая кодовая страница: 1251

SQL> select * from rus_alphabet;

AL_STR
-----------------------------------------
абвгдеёжзийклмнопрстуфхцчшщъыьэюя

SQL>
...
SQL> host chcp
Текущая кодовая страница: 866

SQL> host set NLS_LANG
NLS_LANG=.RU8PC866

SQL> select * from rus_alphabet;

AL_STR
---------------------------------------
абвгдеёжзийклмнопрстуфхцчшщъыьэюя

SQL>

где rus_alphabet - view, созданная как select 'абвгдеёжзийклмнопрстуфхцчшщъыьэюя' from dual