powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Теряются юникод символы
14 сообщений из 14, страница 1 из 1
Теряются юникод символы
    #39523708
Cheese)))
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Имеем такую базу
NLS_CHARACTERSET CL8ISO8859P5
NLS_NCHAR_CHARACTERSET AL16UTF16

в реестре nls_lang RUSSIAN_CIS.CL8MSWIN1251

потребовалось юникод писать, пока даже вывести не получается, где-то наворачивается
select to_nchar('愚者可浹旬而學'), 'қө', to_nchar('қө'), dump(to_nchar('қө')) from dual;
выводит
??????? ?? ?? Typ=1 Len=4: 0,63,0,63

с RUSSIAN_CIS.AL32UTF8 тоже самое.
Ладно показать на экран, то что dump(to_nchar('қө')) показывает что там вопросы больше всего настораживает.

Что делаю не так?
...
Рейтинг: 0 / 0
Теряются юникод символы
    #39523712
Фотография Vadim Lejnin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cheese))),
Как ты N байт национальной кодировки воткнешь в один байт однобайтовой кодировки?

Либо меняй кодировку базы ( dbca + expdp/impdp) , либо храни UTF в NCHAR полях
...
Рейтинг: 0 / 0
Теряются юникод символы
    #39523716
Фотография Vadim Lejnin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vadim LejninCheese))),
Как ты N байт национальной кодировки воткнешь в один байт однобайтовой кодировки?

Либо меняй кодировку базы ( dbca + expdp/impdp) , либо храни UTF в NCHAR полях

пардон криво прочитал вопрос :)
...
Рейтинг: 0 / 0
Теряются юникод символы
    #39523717
Cheese)))
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я и собираюсь хранить в nclob.
Пока записать без ? не получается, так как даже вывести to_nchar('қө') не могу.
...
Рейтинг: 0 / 0
Теряются юникод символы
    #39523734
booby
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cheese))),

'қө' - это константа в NLS_CHARACTERSET,
поэтому не надо даже начинать пробовать to_nchar('қө').
Начинай с N'қө' - это будет константа в NLS_NCHAR_CHARACTERSET
...
Рейтинг: 0 / 0
Теряются юникод символы
    #39523745
Фотография andrey_anonymous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
booby'қө' - это константа в NLS_CHARACTERSET
Не константа. Литерал.
Да и про NLS_CHARACTERSET - лучше бы уточниться, а то как-то сферично-вакуумно.
...
Рейтинг: 0 / 0
Теряются юникод символы
    #39523754
Сергей Арсеньев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cheese)))Пока записать без ? не получается,
Или все-таки прочитать. Потерянные при записи символы обозначаются - ¿
...
Рейтинг: 0 / 0
Теряются юникод символы
    #39523757
Фотография andrey_anonymous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сергей АрсеньевПотерянные при записи символы обозначаются - ¿
Сергей, есть мнение, что Вы несколько заблуждаетесь.
...
Рейтинг: 0 / 0
Теряются юникод символы
    #39523762
booby
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andrey_anonymousbooby'қө' - это константа в NLS_CHARACTERSET
Не константа. Литерал.
Да и про NLS_CHARACTERSET - лучше бы уточниться, а то как-то сферично-вакуумно.
Во! Именно литерал.
...
Рейтинг: 0 / 0
Теряются юникод символы
    #39523770
booby
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andrey_anonymousbooby'қө' - это константа в NLS_CHARACTERSET
Не константа. Литерал.
Да и про NLS_CHARACTERSET - лучше бы уточниться, а то как-то сферично-вакуумно.
речь идет о том, что преобразовывать из чего-то в куда-то имеет смысл только в том случае, если "оно" в том "из чего-то" вообще имеет представление, отличное от набора замещающих символов '?'.
А когда у 'қө' нет представления в NLS_CHARACTERSET то и в NLS_NCHAR_CHARACTERSET
переводить, кроме знаков, вопроса нечего.
...
Рейтинг: 0 / 0
Теряются юникод символы
    #39523893
Фотография andrey_anonymous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
boobyandrey_anonymousпропущено...

Не константа. Литерал.
Да и про NLS_CHARACTERSET - лучше бы уточниться, а то как-то сферично-вакуумно.
речь идет о том, что преобразовывать из чего-то в куда-то имеет смысл только в том случае, если "оно" в том "из чего-то" вообще имеет представление, отличное от набора замещающих символов '?'.
Речь идет о том, что NLS_CHARACTERSET бывает разный.
Серверный.
Сессионный (клиентский).
...
Рейтинг: 0 / 0
Теряются юникод символы
    #39523939
booby
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andrey_anonymous,

тут извини.
про то, что "NLS_CHARACTERSET бывает разный." я сейчас не знаю и до того никогда не знал.
Про территорию и язык в сессии - про это слышал, а про "разный" NLS_CHARACTERSET - нет.
Так что не смогу претендовать на уменьшение степень мутности NLS_CHARACTERSET там, где он "разный".
Извини еще раз.
...
Рейтинг: 0 / 0
Теряются юникод символы
    #39523972
Фотография andrey_anonymous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
boobyпро то, что "NLS_CHARACTERSET бывает разный." я сейчас не знаю и до того никогда не знал.
Это очень печально.
Но поправимо.
Если почитать тут
https://docs.oracle.com/database/121/NLSPG/ch3globenv.htm#NLSPG189

а потом помедитировать над картинкой здесь
https://docs.oracle.com/database/121/NLSPG/ch2charset.htm#NLSPG185

то можно осознать тот немудреный факт, что передаваемые с клиента данные могут быть представлены в разных кодировках.
И восприятие этих кодировок (в частности, доедет до ли до сервера текст или знак вопроса) непосредственно зависит от того, какую кодировку заявил клиент при установлении соединения с сервером.
Это в равной мере относится и к текстам SQL-запросов, отправляемым с клиента на сервер.
Именно поэтому утверждение 20808995 несколько... мутновато.
Имелся ли ввиду database characterset или все-таки клиентский ?
...
Рейтинг: 0 / 0
Теряются юникод символы
    #39524031
booby
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andrey_anonymous,
Сказано было точно и буквально то, что сказано.
Ни больше, не меньше.
В связи с чем предложения "помедитировать" не принимаются.
Есть потенция произнести нечто содержательное в утвердительной форме - произноси.
Ну и, предложением на предложение, помедитируй на тему кому могли бы быть интересны твои полунамеки и иносказания.
...
Рейтинг: 0 / 0
14 сообщений из 14, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Теряются юникод символы
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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