powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Проблема с кодировкой при записи в базу. Проблема с кириллицей
13 сообщений из 13, страница 1 из 1
Проблема с кодировкой при записи в базу. Проблема с кириллицей
    #39635115
Rustam Ergashev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте. Есть проект делаю дополнения для него не могу изменит базу, метод соединения. Можно сделать перекодировку внутри .jsp, javascript и при записи в базу oracle. Делаю передачу с .jsp формы данных для записи в базу. База на Oracle 11g там кодировка на NLS_CHARACTERSET=CL8ISO8859P5, jsp форма на <%@ page contentType="text/html;charset=Windows-1251" language="java"%>. Поискал на инете но не нашлось подходящий для меня метод, или не понял как сделать. Вот один из них при записи в базу
Код: plsql
1.
 convert(i_firstname, 'CL8ISO8859P5','cl8mswin1251') 

Результат= "А БуБЈБ?А?Аш". При передачи хотел сделать перекодировку но и это не получился. В другом проекте была такая функция
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
public String Convert(String s)
    {
        if(s == null || s.length() == 0)
            return s;
        try
        {
            String s1 = new String(s.getBytes("ISO-8859-1"), "Cp1251");
            for(int i = s1.indexOf('?', 0); i >= 0; i = s1.indexOf('?', i + 1))
                if(s.charAt(i) != '?')
                    return s;

            return s1;
        }
        catch(Exception exception)
        {
            return exception.toString();
        }
    }

но в этом проекте нет такой функции в class файле. Внедрить этот кусок кода свой проект не получился или неправильно сделал.
...
Рейтинг: 0 / 0
Проблема с кодировкой при записи в базу. Проблема с кириллицей
    #39635127
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У вас что-то не работает без перекодировок?
Потому как, в нормальной ситуации, драйвер сам перекодирует текстовые данные из кодировки базы в кодировку приложения.
...
Рейтинг: 0 / 0
Проблема с кодировкой при записи в базу. Проблема с кириллицей
    #39635128
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Rustam Ergashev
Код: java
1.
            String s1 = new String(s.getBytes("ISO-8859-1"), "Cp1251");

И, кстати, ISO-Cyrilic это 8859- 5
...
Рейтинг: 0 / 0
Проблема с кодировкой при записи в базу. Проблема с кириллицей
    #39635148
Rustam Ergashev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Basil A. SidorovУ вас что-то не работает без перекодировок?
Потому как, в нормальной ситуации, драйвер сам перекодирует текстовые данные из кодировки базы в кодировку приложения.
Без перекодировки кириллицу сохраняет в не читаемом виде.
...
Рейтинг: 0 / 0
Проблема с кодировкой при записи в базу. Проблема с кириллицей
    #39635174
Фотография Stax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Rustam Ergashev,

імхо

'CL8ISO8859P5' 'cl8mswin1251' в одном "cуперсете"

Вам ничего не надо перекодировать
надо правильно для приложения выставить (напр NLS_LANG=UKRAINIAN_UKRAINE. CL8MSWIN1251 )
оракля сам перекодирует

.....
stax
...
Рейтинг: 0 / 0
Проблема с кодировкой при записи в базу. Проблема с кириллицей
    #39635227
Rustam Ergashev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
StaxRustam Ergashev,

імхо

'CL8ISO8859P5' 'cl8mswin1251' в одном "cуперсете"

Вам ничего не надо перекодировать
надо правильно для приложения выставить (напр NLS_LANG=UKRAINIAN_UKRAINE. CL8MSWIN1251 )
оракля сам перекодирует

.....
stax
я не могу изменить этот параметр. На сервере уже много лет работают другие проекты.
...
Рейтинг: 0 / 0
Проблема с кодировкой при записи в базу. Проблема с кириллицей
    #39635235
Фотография andrey_anonymous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Stax'CL8ISO8859P5' 'cl8mswin1251' в одном "cуперсете"

Вам ничего не надо перекодировать
надо правильно для приложения выставить (напр NLS_LANG=UKRAINIAN_UKRAINE. CL8MSWIN1251 )
оракля сам перекодирует
Хинт: у него java в середине.
...но ТС, мягко говоря, не очень понимает что делает, отсюда проблемы.
...
Рейтинг: 0 / 0
Проблема с кодировкой при записи в базу. Проблема с кириллицей
    #39635285
Rustam Ergashev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
[quot andrey_anonymous]Stax'CL8ISO8859P5' 'cl8mswin1251' в одном "cуперсете"


...но ТС, мягко говоря, не очень понимает что делает, отсюда проблемы.
В точку Сделал форму. Коннект в базу есть. Заполнил форму. Записал данные в базу. В базе Кириллица крякаобразная. Латиница без проблем сохраняется.
...
Рейтинг: 0 / 0
Проблема с кодировкой при записи в базу. Проблема с кириллицей
    #39635316
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Rustam ErgashevСделал форму. Коннект в базу есть. Заполнил форму. Записал данные в базу.

Прочитать перед этим Oracle Globalization Guide не смог. Продолжайте программировать
методом тыка.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Проблема с кодировкой при записи в базу. Проблема с кириллицей
    #39635346
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тут ещё и кодировки в вебе надо изучать.
В том числе, чтобы отучиться проставлять в коде страницы вещи, в которых сервер может разобраться и без помощи программиста.
...
Рейтинг: 0 / 0
Проблема с кодировкой при записи в базу. Проблема с кириллицей
    #39635435
Фотография Vadim Lejnin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Rustam ErgashevStaxRustam Ergashev,

імхо

'CL8ISO8859P5' 'cl8mswin1251' в одном "cуперсете"

Вам ничего не надо перекодировать
надо правильно для приложения выставить (напр NLS_LANG=UKRAINIAN_UKRAINE. CL8MSWIN1251 )
оракля сам перекодирует

.....
stax
я не могу изменить этот параметр. На сервере уже много лет работают другие проекты.

Для начала

iso1 - не имеет однозначного отображения на cp1251
русская кодировка iso5

Код: plsql
1.
String s1 = new String(s.getBytes("ISO-8859-5"), "Cp1251");
...
Рейтинг: 0 / 0
Проблема с кодировкой при записи в базу. Проблема с кириллицей
    #39635845
Rustam Ergashev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Vadim LejninRustam Ergashevпропущено...

я не могу изменить этот параметр. На сервере уже много лет работают другие проекты.

Для начала

iso1 - не имеет однозначного отображения на cp1251
русская кодировка iso5

Код: plsql
1.
String s1 = new String(s.getBytes("ISO-8859-5"), "Cp1251");


Этот код был для примера
...
Рейтинг: 0 / 0
Проблема с кодировкой при записи в базу. Проблема с кириллицей
    #39635960
Фотография andrey_anonymous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Rustam ErgashevVadim Lejninпропущено...
iso1 - не имеет однозначного отображения на cp1251
русская кодировка iso5

Код: plsql
1.
String s1 = new String(s.getBytes("ISO-8859-5"), "Cp1251");


Этот код был для примера
Этот пример ярко проиллюстрировал отсутствие понимания процессов.
Причем дважды.
Принимать поток iso8859-5 как ISO8859-1 - уже ошибка на входе.
Конвертить его в 1251 внутри java под выдачу в JDBC - вторая.
Прочтите все-таки globalization support guide, узнаете много полезного.
...
Рейтинг: 0 / 0
13 сообщений из 13, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Проблема с кодировкой при записи в базу. Проблема с кириллицей
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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