powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Некорректно отображается часть русских слов
25 сообщений из 55, страница 1 из 3
Некорректно отображается часть русских слов
    #39467549
altjke
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем привет!

В таблице есть clob(хранятся XML) в котором присутствуют русские слова. Некоторые слова отображаются как знаки вопроса или квадраты, причем одно и тоже слово в одном месте отображается а в другом нет.Если вырезать один из квадратов через substr(clob,#,1) то отображается все норм. Если сделать xmltype(clob) то тоже все отображается нормально. Если вырезать бОльшую часть и навесить to_char то тоже все ок.Сижу через SQL developer. На другом компе через SQL developer посвежее все отображается нормально. Но данный клоб хреново(со знаками вопроса) считывает приложенка и валится из-за этого, поэтому вряд ли дело в локальных настройках девелопера. В какую сторону копать?
...
Рейтинг: 0 / 0
Некорректно отображается часть русских слов
    #39467561
Фотография AmKad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
altjke,

Посмотри на содержимое xml посредством getclobval.
Код: plsql
1.
2.
3.
4.
with s as
(select xmltype('<x><y>Русские буквы</y></x>') x from dual)
select s1.x.getclobval()
from s s1;
...
Рейтинг: 0 / 0
Некорректно отображается часть русских слов
    #39467569
altjke
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
AmKad,

Квадратики :(
...
Рейтинг: 0 / 0
Некорректно отображается часть русских слов
    #39467570
altjke
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
altjke,

Но опять таки только у части русских слов!
...
Рейтинг: 0 / 0
Некорректно отображается часть русских слов
    #39467571
Фотография AmKad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
altjkeAmKad,

Квадратики :(И ты хочешь сказать, что в CLOB-е квадратики, а когда ты берешь от него xmltype, квадратики превращаются в русские слова?
...
Рейтинг: 0 / 0
Некорректно отображается часть русских слов
    #39467575
altjke
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
AmKad,

Именно так. Сам в шоке.
Думал битый лобсегмент - но в другом клиенте все корректно.
Думал кодировка - но тогда бы все русские символы съехали бы, а не часть.
...
Рейтинг: 0 / 0
Некорректно отображается часть русских слов
    #39467590
Фотография env
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
altjke,

А теперь повтори результат в sqlplus. Не забудь про nls_lang и chcp.
...
Рейтинг: 0 / 0
Некорректно отображается часть русских слов
    #39467593
altjke
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
AmKadaltjke,

Посмотри на содержимое xml посредством getclobval.
Код: plsql
1.
2.
3.
4.
with s as
(select xmltype('<x><y>Русские буквы</y></x>') x from dual)
select s1.x.getclobval()
from s s1;



Немного смущает результат выполнения данного примера (лишние </y></x> в конце)

<x><y>���� ���</y></x></y></x>


Это норма?)
...
Рейтинг: 0 / 0
Некорректно отображается часть русских слов
    #39467599
Сергей Арсеньев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
altjke,

А что у тебя на страничке NLS в разделе Database настроек SQL Developer?
...
Рейтинг: 0 / 0
Некорректно отображается часть русских слов
    #39467610
altjke
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Сергей Арсеньев,

На Америку тоже менял - не помогает.
...
Рейтинг: 0 / 0
Некорректно отображается часть русских слов
    #39467611
altjke
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
envaltjke,

А теперь повтори результат в sqlplus. Не забудь про nls_lang и chcp.

А разве SQL developer не SQL*PLUS'ный?
...
Рейтинг: 0 / 0
Некорректно отображается часть русских слов
    #39467631
Сергей Арсеньев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
altjke,

а база в какой кодировке?

И сделай dump "битого" clob
...
Рейтинг: 0 / 0
Некорректно отображается часть русских слов
    #39467646
altjke
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Сергей Арсеньевaltjke,

а база в какой кодировке?

И сделай dump "битого" clob

Код: plsql
1.
2.
NLS_NCHAR_CHARACTERSET	UTF8
NLS_CHARACTERSET	CL8MSWIN1251



dump(clob) ? :)
могу только так, но вряд ли это информативно:

Код: sql
1.
2.
3.
4.
5.
6.
with s as
(select xmltype('<x><y>Русские буквы КН</y></x>') x from dual)
select dump(to_char(s1.x.getclobval()))
from s s1;

Typ=1 Len=30: 60,120,62,60,121,62,208,243,241,241,234,232,229,32,225,243,234,226,251,32,202,205,60,47,121,62,60,47,120,62
...
Рейтинг: 0 / 0
Некорректно отображается часть русских слов
    #39467986
altjke
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ребята, выручайте!
Куда хотя бы копать?
...
Рейтинг: 0 / 0
Некорректно отображается часть русских слов
    #39468005
Фотография AmKad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Выбери clob-ец поменьше, чтобы содержал твои загадочные русские буквы-квадратики и покажи нам dump, как просил тебя Сергей.
Возможно ты в разных версиях SQL Developer-а смотришь на разные CLOB-ы, возможно, записанные в БД разными способами/процессами.
...
Рейтинг: 0 / 0
Некорректно отображается часть русских слов
    #39468023
MaximaXXL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
altjkeВсем привет!
..........................
Но данный клоб хреново(со знаками вопроса) считывает приложенка и валится из-за этого, поэтому вряд ли дело в локальных настройках девелопера. В какую сторону копать?

А надо чинить Девелопер или приложенку?
Может покажешь что приложенка в себя тянет? Может там стандартная ситуация?
...
Рейтинг: 0 / 0
Некорректно отображается часть русских слов
    #39468027
MaximaXXL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
altjke,

И неплохо было-бы глянуть настройки Оракловых клиентов на "другом компе", там где приложенка и на твоем
...
Рейтинг: 0 / 0
Некорректно отображается часть русских слов
    #39468038
Фотография AmKad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
altjkeНемного смущает результат выполнения данного примера (лишние </y></x> в конце)

<x><y>���� ���</y></x></y></x>Странная ситуация для связки SQL Developer и NLS_CHARACTERSET = CL8MSWIN1251. Такое поведение воспроизводится на двух компах на SQL Developer-е? Да и теги откуда-то лишние взялись.

Не троллишь ли ты часом?
...
Рейтинг: 0 / 0
Некорректно отображается часть русских слов
    #39468041
altjke
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
AmKadВыбери clob-ец поменьше, чтобы содержал твои загадочные русские буквы-квадратики и покажи нам dump, как просил тебя Сергей.
Возможно ты в разных версиях SQL Developer-а смотришь на разные CLOB-ы, возможно, записанные в БД разными способами/процессами.

Клобцов поменьше нет, вырезал из имеющегося кривые символы + по паре символов по бокам


Код: plsql
1.
2.
to_char(substr(form,264,5))    dump(to_char(substr(form,264,5)))  substr(form,264,5)
">КН<	                          Typ=1 Len=5: 34,62,202,205,60	 ">&#65533;<<
...
Рейтинг: 0 / 0
Некорректно отображается часть русских слов
    #39468044
altjke
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MaximaXXLaltjkeВсем привет!
..........................
Но данный клоб хреново(со знаками вопроса) считывает приложенка и валится из-за этого, поэтому вряд ли дело в локальных настройках девелопера. В какую сторону копать?

А надо чинить Девелопер или приложенку?
Может покажешь что приложенка в себя тянет? Может там стандартная ситуация?


Надо чинить приложенку, но я уверен что если понять почему сломался девелопер - аналогично будет с приложенкой.
В саму приложенку доступа напрямую нет и ,как описал владелец, она селектит клоб и парсит его.
А стандартная ситуация какая может быть?
...
Рейтинг: 0 / 0
Некорректно отображается часть русских слов
    #39468046
altjke
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MaximaXXLaltjke,

И неплохо было-бы глянуть настройки Оракловых клиентов на "другом компе", там где приложенка и на твоем

Пока что нашёл только одну зависимость. У тех у кого в реестре nls_lang = AMERICAN_AMERICA.CL8WIN1251 - отображается фигня.
У кого RUSSIAN_RUSSIA.CL8WIN1251 - все ок.

Но даже если привязать переменную через систему - она не перекрывает ресстр. Возможно это баг\фича SQL developer'а
...
Рейтинг: 0 / 0
Некорректно отображается часть русских слов
    #39468050
Фотография AmKad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
altjkeВозможно это баг\фича SQL developer'аОн не использует nls_lang, у него свой конфиг-файл sqldeveloper.conf.
...
Рейтинг: 0 / 0
Некорректно отображается часть русских слов
    #39468052
altjke
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
AmKadaltjkeНемного смущает результат выполнения данного примера (лишние </y></x> в конце)

<x><y>���� ���</y></x></y></x>Странная ситуация для связки SQL Developer и NLS_CHARACTERSET = CL8MSWIN1251. Такое поведение воспроизводится на двух компах на SQL Developer-е? Да и теги откуда-то лишние взялись.

Не троллишь ли ты часом?

Я сам первый раз с таким сталкиваюсь, ощущение что меня троллит oracle.
Прогнал твой тестовый пример через один и тот же клиент на другом серваке - там все ок. Разница в nls_database_parameters только в NCHAR_CHARACTERSET - на "кривом" серваке UTF8, на нормальном AL16UTF16.

И да, на "кривом" стоит NLS_RDBMS_VERSION = 12.2.0.1.0, а на нормальном - NLS_RDBMS_VERSION = 11.2.0.4.0

Но проблема возникла задолго до перехода на 12 (до этого были идентичны)
...
Рейтинг: 0 / 0
Некорректно отображается часть русских слов
    #39468055
Фотография AmKad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
altjkeПрогнал твой тестовый пример через один и тот же клиент на другом серваке - там все ок. Разница в nls_database_parameters только в NCHAR_CHARACTERSET - на "кривом" серваке UTF8, на нормальном AL16UTF16.Ну вот, ты нас за нос водишь. Я считал, что ты работаешь на одном сервере с разных клиентов, а у тебя и сервера разные, соответственно и данные тоже.

А не nclob ли это у тебя часом? Покажи ddl-таблицы. На обоих серверах. С указанием, на каком из них проблема.
...
Рейтинг: 0 / 0
Некорректно отображается часть русских слов
    #39468061
Фотография AmKad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
altjke,

И это с обоих серверов вытащи:
Код: plsql
1.
2.
3.
select *
from nls_database_parameters
where parameter like 'NLS%CHARACTERSET';
...
Рейтинг: 0 / 0
25 сообщений из 55, страница 1 из 3
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Некорректно отображается часть русских слов
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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