|
кодировка JSON в Oracle
|
|||
---|---|---|---|
#18+
Добрый день. При получении JSON в БД через Web-сервис русские буквы представляются в таком виде Код: plsql 1.
Как можно быстро убрать проблему? Достаточно даже просто прочитать один раз текст из JSON... ... |
|||
:
Нравится:
Не нравится:
|
|||
10.06.2020, 10:28 |
|
кодировка JSON в Oracle
|
|||
---|---|---|---|
#18+
persona_grato в таком виде В каком виде? persona_grato Как можно быстро убрать проблему? Проверить везде кодировку. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.06.2020, 10:31 |
|
кодировка JSON в Oracle
|
|||
---|---|---|---|
#18+
persona_grato Добрый день. При получении JSON в БД через Web-сервис русские буквы представляются в таком виде Код: plsql 1.
Как можно быстро убрать проблему? Достаточно даже просто прочитать один раз текст из JSON... Звонок в ТехподдержкуЯ что-то нажала, и все погасло... 1) Что сделали ( по какому документу) 2) Что получили (ошибка какая, не в пересказе, а полное сообщение об ошибках, и не printscreen) 3) Версия базы, системы, чем тестировали Код: plsql 1. 2.
Для информации Студентам, желающим помощи HOWTO :: Как правильно задавать вопросы Как мне оформить свое сообщение? ... |
|||
:
Нравится:
Не нравится:
|
|||
10.06.2020, 11:00 |
|
кодировка JSON в Oracle
|
|||
---|---|---|---|
#18+
persona_grato Добрый день. При получении JSON в БД через Web-сервис русские буквы представляются в таком виде Код: plsql 1.
Как можно быстро убрать проблему? Достаточно даже просто прочитать один раз текст из JSON... У тебя какая задача стоит? Правильно передать кодировку? Или увидеть ее глазами? Это разные задачи. Кроме того JSON должен поддерживать unicode escape символы наподобие. Код: javascript 1.
заверни все национальные буквы в такие эскейп последовательности и будет пролезать через любой ASCII терминал и браузер и в лог файлах будет соответствие 100% ... |
|||
:
Нравится:
Не нравится:
|
|||
10.06.2020, 11:09 |
|
кодировка JSON в Oracle
|
|||
---|---|---|---|
#18+
mayton, сейчас стоит задача просто прочитать это "русское" сообщение в JSON-е... ... |
|||
:
Нравится:
Не нравится:
|
|||
10.06.2020, 11:12 |
|
кодировка JSON в Oracle
|
|||
---|---|---|---|
#18+
У тебя есть варианты. Как написал один господин Проверить везде кодировку. Везде - значит везде. Во всем стеке технологий. И второй вариант - пофиксить их в одном месте и всегда видеть однозначное представление. Ну и в средах разработки и умных редакторах можно сделать unwrap и видеть русские буквы. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.06.2020, 11:15 |
|
кодировка JSON в Oracle
|
|||
---|---|---|---|
#18+
persona_grato, > При получении JSON в БД через Web-сервис русские буквы представляются Что за Web-сервис? Чем выполняешь запрос и чем смотришь Как получаешь json? Если в SQL, то json_query кодировку показывает правильно? ... |
|||
:
Нравится:
Не нравится:
|
|||
10.06.2020, 11:18 |
|
кодировка JSON в Oracle
|
|||
---|---|---|---|
#18+
mayton Проверить везде кодировку. Ну и в средах разработки и умных редакторах можно сделать unwrap и видеть русские буквы. Жаль расстраивать, но знаки вопроса означают невосстановимую потерю информации ввиду несовместимости задекларированных кодировок клиента и сервера бд. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.06.2020, 11:59 |
|
кодировка JSON в Oracle
|
|||
---|---|---|---|
#18+
andrey_anonymous, Значит надо посмотреть в каком виде они лежат в базе. В каком виде попадают в базу. Так можно узнать какой компонент гадит. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.06.2020, 13:17 |
|
кодировка JSON в Oracle
|
|||
---|---|---|---|
#18+
Надо дернуть SELECT по базе. И посмотреть незамутнённым глазом на то как данные лежат. Тогда мы сможем оценить масштаб трагеии. Возможно надо будет сделать какой-то unicode конвертацию чтоб кракозябры отформатировались не вопросиками а чем-то осмысленным. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.06.2020, 13:21 |
|
кодировка JSON в Oracle
|
|||
---|---|---|---|
#18+
crutchmaster andrey_anonymous, Значит надо посмотреть в каком виде они лежат в базе. В каком виде попадают в базу. Так можно узнать какой компонент гадит. "Гадит" стандартный Oracle Client, которому забыли заявить кодировку данных. Ну или кодировка БД не способна принять передаваемые символы, если БД слеплена в ее "родном" us7ascii ... |
|||
:
Нравится:
Не нравится:
|
|||
10.06.2020, 16:55 |
|
кодировка JSON в Oracle
|
|||
---|---|---|---|
#18+
Автор ану попробуй так Код: plsql 1.
Что в результате? ... |
|||
:
Нравится:
Не нравится:
|
|||
10.06.2020, 17:00 |
|
кодировка JSON в Oracle
|
|||
---|---|---|---|
#18+
mayton Автор ану попробуй 1. "пробовать" стоило бы dump, а не rawtohex 2. Имело смысл уточнить у автора значение NLS_CHARACTERSET БД: Код: plsql 1.
3. Имело смысл уточнить детали подключения к БД - какой клиент, как настроен (NLS_LANG) ... |
|||
:
Нравится:
Не нравится:
|
|||
11.06.2020, 17:51 |
|
кодировка JSON в Oracle
|
|||
---|---|---|---|
#18+
Да я не против. Но NLS* параметры это оракловый фактор. Есть еще настройки самого приложения. Если это java app и в нем не были адекватные конфигурации Locale, то однобайтные кодировки могут быть безнадёжно сломаны. И вот эти вот цепочки вопросительных знаков в первом посту КМК свидетельсвтуют о сломанных кодировках в двух местах. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.06.2020, 17:57 |
|
кодировка JSON в Oracle
|
|||
---|---|---|---|
#18+
mayton КМК Перекреститесь. Замена символа на знак вопроса при невозможности представить символ в целевой кодировке - фишка Oracle Client. Это не сломанная кодировка, это - сигнал "нунишмогла". ... |
|||
:
Нравится:
Не нравится:
|
|||
11.06.2020, 18:35 |
|
кодировка JSON в Oracle
|
|||
---|---|---|---|
#18+
andrey_anonymous mayton КМК Перекреститесь. Замена символа на знак вопроса при невозможности представить символ в целевой кодировке - фишка Oracle Client. Это не сломанная кодировка, это - сигнал "нунишмогла". Когда автор написал "через Web-сервис" то я так себе это понял что он публикует эти данные где-то в вебе. Но он хитрый партизан и так и не раскололся в консоли это или в браузере или в SOAP-UI. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.06.2020, 18:51 |
|
кодировка JSON в Oracle
|
|||
---|---|---|---|
#18+
mayton не раскололся в консоли это или в браузере или в SOAP-UI. Вариантов не так много. 1. использует Oracle Client - тогда некорректная установка NLS_LANG (если совсем не установить, то дефолт - US7ASCII, который не воспринимает коды старше 127 => знаки вопроса). Тут надо установить NLS_LANG в ту кодировку, которую используют в JSON. 2. использует thin client (java), но БД создана "по умолчанию" с той же US7ASCII. Тут можно либо пересоздать БД, либо использовать N-типы, либо иметь жесткий геморрой, заказав на клиенте кодировку, совпадающую с кодировкой БД (т.е. отказавшись от контроля кодировок). 3. Грузит нормально, но читает (проверяет) из ненастроенного клиента - эту ситуацию поможет отследить select dump(...) ... |
|||
:
Нравится:
Не нравится:
|
|||
11.06.2020, 19:14 |
|
|
start [/forum/topic.php?fid=52&msg=39967792&tid=1881156]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
56ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
50ms |
get tp. blocked users: |
1ms |
others: | 283ms |
total: | 435ms |
0 / 0 |