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

https://docs.oracle.com/cd/B28359_01/server.111/b28298/ch2charset.htm

The database character set is used to identify SQL and PL/SQL source code. In order to do this, it must have either EBCDIC or 7-bit ASCII as a subset, whichever is native to the platform. Therefore, it is not possible to use a fixed-width, multibyte character set as the database character set. Currently, only the AL16UTF16 character set cannot be used as a database character set.
...
Рейтинг: 0 / 0
Некорректно отображается часть русских слов
    #39468066
Фотография AmKad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MaximaXXLaltjke,

https://docs.oracle.com/cd/B28359_01/server.111/b28298/ch2charset.htm

The database character set is used to identify SQL and PL/SQL source code. In order to do this, it must have either EBCDIC or 7-bit ASCII as a subset, whichever is native to the platform. Therefore, it is not possible to use a fixed-width, multibyte character set as the database character set. Currently, only the AL16UTF16 character set cannot be used as a database character set.У автора NCHAR_CHARACTERSET = AL16UTF16, а тут про NLS_CHARACTERSET.
...
Рейтинг: 0 / 0
Некорректно отображается часть русских слов
    #39468072
altjke
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
AmKadaltjkeПрогнал твой тестовый пример через один и тот же клиент на другом серваке - там все ок. Разница в nls_database_parameters только в NCHAR_CHARACTERSET - на "кривом" серваке UTF8, на нормальном AL16UTF16.Ну вот, ты нас за нос водишь. Я считал, что ты работаешь на одном сервере с разных клиентов, а у тебя и сервера разные, соответственно и данные тоже.

А не nclob ли это у тебя часом? Покажи ddl-таблицы. На обоих серверах. С указанием, на каком из них проблема.

Так, ты все правильно считал, первоочередная проблема в том что разными клиентами на одном серваке часть русских букв клоб поля превращается в знаки ?

Я чисто ради эксперимента прогнал запрос в одном клиенте на разных серваках:

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



Проблема в том что на боевом серваке все ок, а при переносе запись на тестовый - кривота.

DDL идентичны:

Код: plsql
1.
2.
3.
4.
5.
CREATE TABLE TEMP_TABLE
    (
      ID NUMBER NOT NULL ,
      FORM CLOB 
    )
...
Рейтинг: 0 / 0
Некорректно отображается часть русских слов
    #39468077
altjke
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
AmKadaltjke,

И это с обоих серверов вытащи:
Код: plsql
1.
2.
3.
select *
from nls_database_parameters
where parameter like 'NLS%CHARACTERSET';




Нормальный серв :

Код: sql
1.
2.
NLS_NCHAR_CHARACTERSET	AL16UTF16
NLS_CHARACTERSET	CL8MSWIN1251



кривой:

Код: plsql
1.
2.
NLS_NCHAR_CHARACTERSET	UTF8
NLS_CHARACTERSET	CL8MSWIN1251
...
Рейтинг: 0 / 0
Некорректно отображается часть русских слов
    #39468083
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
altjkeвырезал из имеющегося кривые символы + по паре символов по бокам

Софтина, из которой ты это копипастил, явно считает, что буквы приходят в UTF-8, в то
время как там 1251. Ищи в её настройках как её избавить от такого заблуждения.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Некорректно отображается часть русских слов
    #39468085
altjke
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry Sibiryakovaltjkeвырезал из имеющегося кривые символы + по паре символов по бокам

Софтина, из которой ты это копипастил, явно считает, что буквы приходят в UTF-8, в то
время как там 1251. Ищи в её настройках как её избавить от такого заблуждения.


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

Потому что эти буквы не являются валидным UTF-8 и отображаются "как есть", без дальнейшей
перекодировки.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Некорректно отображается часть русских слов
    #39468093
altjke
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry SibiryakovaltjkeНе понятно почему только часть русских букв он считает кракозябрами, а часть нет :(

Потому что эти буквы не являются валидным UTF-8 и отображаются "как есть", без дальнейшей
перекодировки.



Часть русских букв - имел ввиду не буквы алфавита, а значения между тегами ХМL.
Шляпа в том что между одними тегами "Москва" корректно, а между вторыми тегами(другими, но в рамках одного XML) "Москва" - ??????
И заменяется на кривоту вся строка между тегами,а не конкретные буквы.
И to_char() почему то решает проблему, он выполняет какую-то перекодировку? Посимвольные дампы кривых символов - соответствуют байтам русских букв.
...
Рейтинг: 0 / 0
Некорректно отображается часть русских слов
    #39468328
altjke
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Прогнал ещё один тестовый пример:

Код: plsql
1.
2.
3.
4.
with s as
(select xmltype('<x><y>Русские буквы</y><y>Русские буквы</y></x>') x from dual)
select S1.X.GETCLOBVAL()
from s s1;




Получаю:

Код: plsql
1.
<x><y>&#65533;&#65533;&#65533;&#65533; &#65533;&#65533;/y><y>&#65533;&#65533;&#65533;&#65533; &#65533;&#65533;/y></x> буквы</y></x>



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

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

а getStringVal?


Отображает корректно.
Если значение getclobval засунуть в переменную типа клоб и вывести через dbms_output - тоже все корректно
...
Рейтинг: 0 / 0
Некорректно отображается часть русских слов
    #39468622
Фотография env
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
altjke,

А посмотри-ка конфиги JVM и их опции в конфиге приложений, которыми ты смотришь.
Ибо как я понимаю, все проблемы на уровне "посмотреть содержимое клоба через java-приложение".

Что-то в духе
AddVMOption -Duser.language=en
AddVMOption -Duser.country=US
...
Рейтинг: 0 / 0
Некорректно отображается часть русских слов
    #39468623
Фотография env
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
altjke,

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

sqldeveloper/sqldeveloper/bin/sqldeveloper.conf в частности


I
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
ncludeConfFile ../../ide/bin/ide.conf

SetJavaHome ../../jdk

AddVMOption  -Doracle.ide.util.AddinPolicyUtils.OVERRIDE_FLAG=true

AddVMOption -Dsun.java2d.ddoffscreen=false

AddVMOption -Dwindows.shell.font.languages=

AddVMOption  -XX:MaxPermSize=128M

AddVMOption -Doracle.jdbc.mapDateToTimestamp=false  
IncludeConfFile  sqldeveloper-nondebug.conf

AddVMOption -Duser.language=en
AddVMOption -Duser.country=US 




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

Добавлял на машине с каким чарсетом в реестре?

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

Если база XE , то AddVMOption -Duser.region=us
...
Рейтинг: 0 / 0
Некорректно отображается часть русских слов
    #39468774
Ivan K
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Присоединяюсь к ТС

в 12.2 есть такой необъяснимый косяк. В SQL Developer и SQLCli - русские буквы из CLOB отображаются неправильно, в SQL*Plus - все корректно.
...
Рейтинг: 0 / 0
Некорректно отображается часть русских слов
    #39468780
altjke
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
envaltjke,

Если база XE , то AddVMOption -Duser.region=us

Игры с ru Ru не помогли, БД не ХЕ.
...
Рейтинг: 0 / 0
Некорректно отображается часть русских слов
    #39468844
Фотография andrey_anonymous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Судя по ряду сообщений, парсер неверно разбирает XML - в частности, неверно отсчитывает длину символов - это приводит к появлению "хвоста".
Вероятно, парсер полагает, что XML-контент представлен в монобайте.
Вопрос: почему парсер так считает?
Быть может, в самом XML-документе задекларирована кодировка, не соответствующая фактически переданной парсеру?
...
Рейтинг: 0 / 0
Некорректно отображается часть русских слов
    #39468879
altjke
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
andrey_anonymousСудя по ряду сообщений, парсер неверно разбирает XML - в частности, неверно отсчитывает длину символов - это приводит к появлению "хвоста".
Вероятно, парсер полагает, что XML-контент представлен в монобайте.
Вопрос: почему парсер так считает?
Быть может, в самом XML-документе задекларирована кодировка, не соответствующая фактически переданной парсеру?

Мимо, т.к. даже не xml'ный клоб выдает какую-то дичь.
Неужто тикет в оракл заводить на предмет взаимоотношений java и оракла 12.2 ?(
...
Рейтинг: 0 / 0
Некорректно отображается часть русских слов
    #39471033
altjke
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вопрос все ещё актуален
...
Рейтинг: 0 / 0
Некорректно отображается часть русских слов
    #39471301
Фотография env
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
altjke,

Удаётся ли повторить ситуацию на чистой виртуалке с разными NLS_ параметрами в реестре при одинаковых региональных настройках ОС и версиях ораклового клиента и остального софта?
...
Рейтинг: 0 / 0
Некорректно отображается часть русских слов
    #39471410
altjke
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
envaltjke,

Удаётся ли повторить ситуацию на чистой виртуалке с разными NLS_ параметрами в реестре при одинаковых региональных настройках ОС и версиях ораклового клиента и остального софта?

Такой возможности, к сожалению, нет.
...
Рейтинг: 0 / 0
Некорректно отображается часть русских слов
    #39471442
NiedovolenOracle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Такая же ерунда . Добавлю свои пару копеек:

При установке в sql developer Oracle_home если ставить хоум где находиться 11 версия - все работает
если устанавливать хоум где находиться 12 - не работает, но если поставить галочку использовать oci работает нормально.

Похоже на проблему thin client при работе с clob
...
Рейтинг: 0 / 0
Некорректно отображается часть русских слов
    #39475974
NiedovolenOracle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Никто не нашел в чем проблема? На металинке ничего не нашел(((
...
Рейтинг: 0 / 0
25 сообщений из 55, страница 2 из 3
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Некорректно отображается часть русских слов
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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