powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / JDBC: при вставке в ASE 15.0.2 кириллицы в базу вставляются "????"
7 сообщений из 7, страница 1 из 1
JDBC: при вставке в ASE 15.0.2 кириллицы в базу вставляются "????"
    #36088950
_Pavel__
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Проблема в следующем: присоеденился из Java к ASE с помощью JDBC. Генерирую insert into test...test(a) values(‘чтото’). При просмотре в Interactive SQL - знаки вопроса.
При просмотре в ISQL пробовал каждую из четырёх кодировок – тоже «???». Подскажите, в чём дело и как исправить. Фрагмент кода:

import com.sybase.jdbc3.jdbc.SybDataSource;
import com.sybase.jdbc3.jdbc.SybConnection;
import com.sybase.jdbc3.jdbc.SybStatement;
import java.util.Properties;

....
Properties prSyb=new Properties();
prSyb.put("user","sa");
prSyb.put("password","");

SybDataSource sds=new SybDataSource();
ResultSet rs;
SybConnection sconn=(SybConnection)sds.connect("jdbc:sybase:Tds:127.0.0.1:6000",prSyb);
SybStatement ss=(SybStatement)sconn.createStatement();
ss.execute("insert into test..test(a) values('чтото')");
rs=ss.executeQuery("select * from test..test");
while(rs.next()){
System.out.println(rs.getString(1));
}
....

ЗЫ: когда в Java читаю то, что раннее вставил в ASE - читаются "???".

Заранее спасибо за ответ
...
Рейтинг: 0 / 0
JDBC: при вставке в ASE 15.0.2 кириллицы в базу вставляются "????"
    #36089001
SQLMantis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_Pavel__,

думаю что поиск по волшебным словам charset или локализация прольет свет.
...
Рейтинг: 0 / 0
JDBC: при вставке в ASE 15.0.2 кириллицы в базу вставляются "????"
    #36089129
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_Pavel__ пишет:

> Проблема в следующем: присоеденился из Java к ASE с помощью JDBC.
> Генерирую insert into test...test(a) values(‘чтото’). При просмотре в
> Interactive SQL - знаки вопроса.
> При просмотре в ISQL пробовал каждую из четырёх кодировок – тоже «???».
> Подскажите, в чём дело и как исправить. Фрагмент кода:

Процентов на 80 ты уже в Java-программе, ещё до посылки сервера, имеешь
неправильную (сбитую) кодировку. Проверь. Просто в Java юникод, так
что в принципе если ничего не трогать, то JDBC-драйвер сам уже сконфигурён
правильно.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
JDBC: при вставке в ASE 15.0.2 кириллицы в базу вставляются "????"
    #36089328
_Pavel__
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2SQLMantis: пожалуйста, конкретнее. Какое значение нужно туда установить? Менял CHARSET на utf8 - выдало: "Exception in thread "main" com.sybase.jdbc3.jdbc.SybSQLException: Error converting characters into server's character set. Some character(s) could not be converted.". Есть ещё параметр
CHARSET_CONVERTER_CLASS, но с ним тоже не ясно.

2MasterZiv: Исполняемые инсерты нормальные. Если кодировка битая, но при этом кириллица отображается нормально(перед инсертом в консоль вывожу значения), то тогда не ясно, в чём дело.
...
Рейтинг: 0 / 0
JDBC: при вставке в ASE 15.0.2 кириллицы в базу вставляются "????"
    #36089472
_Pavel__
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо, решил проблему: добавил кодировку UTF8 в ASE и установил её по умолчанию. Теперь нормально отображается.
...
Рейтинг: 0 / 0
JDBC: при вставке в ASE 15.0.2 кириллицы в базу вставляются "????"
    #36089957
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_Pavel__ пишет:

> 2MasterZiv: Исполняемые инсерты нормальные. Если кодировка битая, но при
> этом кириллица отображается нормально(перед инсертом в консоль вывожу
> значения), то тогда не ясно, в чём дело.

В какую консоль и какая у этой консоли кодировка ?
Рекомендую занести в файл, отдельно. И проверить.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
JDBC: при вставке в ASE 15.0.2 кириллицы в базу вставляются "????"
    #36089958
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_Pavel__ пишет:

> Спасибо, решил проблему: добавил кодировку UTF8 в ASE и установил её по
> умолчанию. Теперь нормально отображается.

Не может быть, что в этом было дело. У нас совершенно разные кодировки
на серверах, и ничего, все Java -приложения работают. И с cp1251, и с
cp866. И с utf-8.

Возможно, у тебя не был разрешён юникод на сервере (отдельный
конф. параметр), а тут он включился. Это может быть. Но
для работы ява-приложений вовсе не обязательно, чтобы default
character set стоял UTF-8.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / JDBC: при вставке в ASE 15.0.2 кириллицы в базу вставляются "????"
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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