powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Помогите с NLS
33 сообщений из 33, показаны все 2 страниц
Помогите с NLS
    #39933352
Добрый день,

Помогите, плз, разобраться, что не так с настройками

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
SQL> select * from nls_session_parameters;

PARAMETER                      VALUE
------------------------------ ----------------------------------------------------------------
NLS_LANGUAGE                   RUSSIAN
NLS_TERRITORY                  RUSSIA
NLS_CURRENCY                   p.
NLS_ISO_CURRENCY               RUSSIA
NLS_NUMERIC_CHARACTERS         ,
NLS_CALENDAR                   GREGORIAN
NLS_DATE_FORMAT                DD.MM.RR
NLS_DATE_LANGUAGE              RUSSIAN
NLS_SORT                       RUSSIAN
NLS_TIME_FORMAT                HH24:MI:SSXFF
NLS_TIMESTAMP_FORMAT           DD.MM.RR HH24:MI:SSXFF
NLS_TIME_TZ_FORMAT             HH24:MI:SSXFF TZR
NLS_TIMESTAMP_TZ_FORMAT        DD.MM.RR HH24:MI:SSXFF TZR
NLS_DUAL_CURRENCY              p.
NLS_COMP                       BINARY
NLS_LENGTH_SEMANTICS           BYTE
NLS_NCHAR_CONV_EXCP            FALSE

17 rows selected.

SQL> select 1 from dual where regexp_like ('й', 'Й', 'i');

no rows selected

SQL>
...
Рейтинг: 0 / 0
Помогите с NLS
    #39933355
SQL*Plus: Release 8.0.6.0.0 - Production on Mon Mar 2 17:24:31 2020
Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit Production
...
Рейтинг: 0 / 0
Помогите с NLS
    #39933357
-
...
Рейтинг: 0 / 0
Помогите с NLS
    #39933365
Фотография Frequency
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Что показывает
Код: xml
1.
SELECT * FROM V$NLS_PARAMETERS

?
...
Рейтинг: 0 / 0
Помогите с NLS
    #39933369
Frequency
Что показывает
Код: xml
1.
SELECT * FROM V$NLS_PARAMETERS

?


Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
SQL> SELECT * FROM V$NLS_PARAMETERS;

PARAMETER
----------------------------------------------------------------
VALUE                                                               CON_ID
---------------------------------------------------------------- ---------
NLS_LANGUAGE
RUSSIAN                                                                  0

NLS_TERRITORY
RUSSIA                                                                   0

NLS_CURRENCY
p.                                                                       0

NLS_ISO_CURRENCY
RUSSIA                                                                   0

NLS_NUMERIC_CHARACTERS
,                                                                        0

NLS_CALENDAR
GREGORIAN                                                                0

NLS_DATE_FORMAT

PARAMETER
----------------------------------------------------------------
VALUE                                                               CON_ID
---------------------------------------------------------------- ---------
DD.MM.RR                                                                 0

NLS_DATE_LANGUAGE
RUSSIAN                                                                  0

NLS_CHARACTERSET
CL8MSWIN1251                                                             0

NLS_SORT
RUSSIAN                                                                  0

NLS_TIME_FORMAT
HH24:MI:SSXFF                                                            0

NLS_TIMESTAMP_FORMAT
DD.MM.RR HH24:MI:SSXFF                                                   0

NLS_TIME_TZ_FORMAT
HH24:MI:SSXFF TZR                                                        0

PARAMETER
----------------------------------------------------------------
VALUE                                                               CON_ID
---------------------------------------------------------------- ---------

NLS_TIMESTAMP_TZ_FORMAT
DD.MM.RR HH24:MI:SSXFF TZR                                               0

NLS_DUAL_CURRENCY
p.                                                                       0

NLS_NCHAR_CHARACTERSET
AL16UTF16                                                                0

NLS_COMP
BINARY                                                                   0

NLS_LENGTH_SEMANTICS
BYTE                                                                     0

NLS_NCHAR_CONV_EXCP
FALSE                                                                    0


19 rows selected.

SQL>
...
Рейтинг: 0 / 0
Помогите с NLS
    #39933373
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Йохан-Грег Стромптрстен
что не так с настройками
Код: plsql
1.
select 'й', 'Й', dump('й'), dump('Й') from dual;


Йохан-Грег Стромптрстен
SQL*Plus: Release 8.0.6.0.0
Как всё запущено…
...
Рейтинг: 0 / 0
Помогите с NLS
    #39933380
Elic,

первую строку ввёл руками, вторую - скопировал из письма нашим дба-шникам (которые пока не ответили :) )
...
Рейтинг: 0 / 0
Помогите с NLS
    #39933387
Фотография Frequency
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Йохан-Грег Стромптрстен

NLS_CHARACTERSET
CL8MSWIN1251 0


Попробуйте

Код: xml
1.
2.
3.
4.
5.
6.
7.
SHUTDOWN IMMEDIATE; 
STARTUP MOUNT;
ALTER SYSTEM ENABLE RESTRICTED SESSION;
ALTER DATABASE OPEN;
ALTER DATABASE CHARACTER SET INTERNAL_USE AL32UTF8;
SHUTDOWN; 
STARTUP;
...
Рейтинг: 0 / 0
Помогите с NLS
    #39933393
Frequency,

)))
это невозможно

коллеги, а багов никаким с пробелами в regexp_like нет, случаем? набрал руками обе строки, по паре раз для верности, стабильно повторяется
...
Рейтинг: 0 / 0
Помогите с NLS
    #39933396
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ПопробуйтеНе советую бездумно читать заборы
...
Рейтинг: 0 / 0
Помогите с NLS
    #39933400
Alibek B
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну это проверить можно и самому.
Добавить dump вокруг каждой строки и вывести его в select.
Вероятно в какой-то из строк есть невидимые символы (символы нулевой ширины, модификаторы).
...
Рейтинг: 0 / 0
Помогите с NLS
    #39933402
-
...
Рейтинг: 0 / 0
Помогите с NLS
    #39933403
Elic

Код: plsql
1.
select 'й', 'Й', dump('й'), dump('Й') from dual;




Код: plsql
1.
2.
3.
4.
5.
6.
7.
SQL> select 'é', 'É', dump('é'), dump('É') from dual;

' ' DUMP('É')         DUMP('É')
- - ----------------- -----------------
é É Typ=96 Len=1: 233 Typ=96 Len=1: 201

SQL> 



апд: в "предварительном просмотре" были нормальные "й"
...
Рейтинг: 0 / 0
Помогите с NLS
    #39933412
Фотография Stax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Йохан-Грег Стромптрстен,

пробуете под WINDOWS 10x64?

......
stax
...
Рейтинг: 0 / 0
Помогите с NLS
    #39933417
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Йохан-Грег Стромптрстен
первую строку ввёл руками, вторую - скопировал из письма нашим дба-шникам
Скопируй оба запроса сюда не фотографией.
...
Рейтинг: 0 / 0
Помогите с NLS
    #39933469
Elic
Йохан-Грег Стромптрстен
первую строку ввёл руками, вторую - скопировал из письма нашим дба-шникам
Скопируй оба запроса сюда не фотографией.


Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
SQL> select 1 from dual where regexp_like ('é','É','i');

no rows selected

SQL> select 1 from dual where regexp_like ('é', 'É', 'i');

        1
---------
        1

SQL> 



Stax
Йохан-Грег Стромптрстен,

пробуете под WINDOWS 10x64?

......
stax

да
...
Рейтинг: 0 / 0
Помогите с NLS
    #39933504
Фотография Stax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Йохан-Грег Стромптрстен

Stax
Йохан-Грег Стромптрстен,

пробуете под WINDOWS 10x64?

......
stax

да


имхо
проблема c 10-кой при копировании, буфер обмена "не понимает" SQL*Plus: Release 8.0.6.0.0 (типа в unicode)

у меня так с в шестыми формсами было ctrl+c ctrl+v
в буфере были кракозябки (не понимало кодировку 1251)

.....
stax
...
Рейтинг: 0 / 0
Помогите с NLS
    #39933505
Фотография -2-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Йохан-Грег Стромптрстен
а багов никаким с пробелами в regexp_like нет, случаем?
Сокрее с cursor_sharing, но это не баг, а фича.
alter system flush shared_pool;
...
Рейтинг: 0 / 0
Помогите с NLS
    #39933555
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
-2-
Йохан-Грег Стромптрстен
а багов никаким с пробелами в regexp_like нет, случаем?
Сокрее с cursor_sharing, но это не баг, а фича.
По моим тестам регистронезависимый матчинг кириллицы почти не работает на однобайтовых БД на версиях до 12.2 (при cursor_sharing=EXACT).
-2-
alter system flush shared_pool;
А теперь стабильно не работает.
...
Рейтинг: 0 / 0
Помогите с NLS
    #39933567
-
...
Рейтинг: 0 / 0
Помогите с NLS
    #39933569
-2-
пропущено...
Сокрее с cursor_sharing, но это не баг, а фича.
alter system flush shared_pool;


это тоже импосибле.
Но проверил на другой базе - да, там стабильно не работает .

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
SQL> select 1 from dual where regexp_like ('й', 'Й', 'i');

no rows selected

SQL> select 1 from dual where regexp_like ('й','Й','i');

no rows selected

SQL>



Elic
По моим тестам регистронезависимый матчинг кириллицы почти не работает на однобайтовых БД на версиях до 12.2 (при cursor_sharing=EXACT).
пропущено...
А теперь стабильно не работает.


грусть-печаль, придётся переписывать. 12.2 пока не можем использовать.

Всем спасибо за помощь.
...
Рейтинг: 0 / 0
Помогите с NLS
    #39933575
Ладно, бог с ним, регистронезависимым поиском. С этим-то можно что-то сделать?
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
SQL> select 1 from dual where regexp_like (upper('й'), upper('Й'), 'i');

no rows selected

SQL> select 1 from dual where regexp_like (upper('й'), upper('Й'));

no rows selected

SQL>  select 1 from dual where regexp_like ('Й', 'Й');

        1
---------
        1
SQL>
...
Рейтинг: 0 / 0
Помогите с NLS
    #39933581
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Йохан-Грег Стромптрстен
Код: plsql
1.
2.
3.
SQL> select 1 from dual where regexp_like (upper('й'), upper('Й'));

no rows selected

Не воспроизводится.
...
Рейтинг: 0 / 0
Помогите с NLS
    #39933594
Elic
Йохан-Грег Стромптрстен
Код: plsql
1.
2.
3.
SQL> select 1 from dual where regexp_like (upper('й'), upper('Й'));

no rows selected

Не воспроизводится.


А так?

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
SQL> select upper('й') from dual;

U
-
й

SQL> select lower('Й') from dual;

L
-
Й

SQL> select upper('q') from dual;

U
-
Q

SQL>
...
Рейтинг: 0 / 0
Помогите с NLS
    #39933615
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Йохан-Грег Стромптрстен
Код: plsql
1.
2.
3.
4.
5.
SQL> select upper('й') from dual;

U
-
й

Клиентский NLS_LANG?
...
Рейтинг: 0 / 0
Помогите с NLS
    #39933622
Фотография andrey_anonymous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Elic
Клиентский NLS_LANG?

Я бы уточнил вопрос до кодовой страницы консольного окна, в котором запущен sql*plus.
...
Рейтинг: 0 / 0
Помогите с NLS
    #39933629
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andrey_anonymous
кодовой страницы консольного окна
Не в этом случае: 22091383
...
Рейтинг: 0 / 0
Помогите с NLS
    #39933636
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Elic
NLS_LANG
Хотя, судя по 22091426 , с этим нормально.
...
Рейтинг: 0 / 0
Помогите с NLS
    #39933661
Фотография Stax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Йохан-Грег Стромптрстен,

win10x64

по ed вызывается стандартный блокнот (notepad)

набираю
select 'й' j,upper('й') u from dual
/

alt+f4
сохранить

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
SQL*Plus: Release 8.0.6.0.0 - Production on Вт. Брз 3 15:56:10 2020

(c) Copyright 1999 Oracle Corporation.  All rights reserved.



SQL> select
  2  
SQL> ed
Wrote file afiedt.buf

  1* select 'Р№' j,upper('Р№') u from dual
SQL> /

J  U
-- --
Р№ Р№




.....
stax
...
Рейтинг: 0 / 0
Помогите с NLS
    #39933675
Фотография Vadim Lejnin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как это вообще работает
Бо 8.0.6 RUSSIA не было, был только CIS, хотя на кодировку это влиять не должно...

Я бы по очереди прошелся, что-то вроде:
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
cmd.exe
chcp 866
echo %NLS_LANG%
set NLS_LANG=AMERICAN_AMERICA.RU8PC866
sqlplus user/pass@nls
set line 2048 trimspool on pages 0 feed off head on
spool out.txt
select * from v$nls_valiad_values;
select * from nls_database_parameters
select * from nls_session_parameters;
select 'й', 'Й', dump('й'), dump('Й') from dual;
...
Рейтинг: 0 / 0
Помогите с NLS
    #39933678
Фотография Stax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vadim Lejnin

sqlplus user/pass@nls


у Йохана не консольный ("оконный") плюс

*w.exe


....
stax
...
Рейтинг: 0 / 0
Помогите с NLS
    #39933688
Фотография andrey_anonymous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Elic
andrey_anonymous
кодовой страницы консольного окна
Не в этом случае: 22091383

Как раз могло сыграть - клавиатурный ввод против C&P при рассогласованных кодовой странице и NLS_LANG.
Впрочем, у ТС не консоль.

Elic
Elic
NLS_LANG
Хотя, судя по 22091426 , с этим нормально.

Нормально - если кодировка БД не совпадает с кодировкой клиента. Если же совпадают - не факт.
...
Рейтинг: 0 / 0
Помогите с NLS
    #39933691
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andrey_anonymous
Нормально - если кодировка БД не совпадает с кодировкой клиента. Если же совпадают - не факт.
Неважно как, но на сервер пришёл с его точки зрения символ с кодом 233 в кодировке 1251, т.е. "й", и уже к нему применялся upper.
...
Рейтинг: 0 / 0
33 сообщений из 33, показаны все 2 страниц
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Помогите с NLS
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]