powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / £ ¥ ... - Ј Ґ... Вобщем кодировка
22 сообщений из 22, страница 1 из 1
£ ¥ ... - Ј Ґ... Вобщем кодировка
    #33340223
GlukOza
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем привет!

Код: plaintext
1.
2.
3.
4.
5.
 int  cod= 165 ;
 char  tocode=( char ) cod;

System.out.println("tocode="+tocode);
 

Должен возвратить символ '¥'(этот символ в не в win.1251), а возвращает '?'.

В таблице ASCII кодов символов Windows (win.1251):
код 165 - Ґ. java не читает кирилицу. Как сделать, чтобы читала.
...
Рейтинг: 0 / 0
£ ¥ ... - Ј Ґ... Вобщем кодировка
    #33340233
Фотография Penkov Vladimir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GlukOza
> Всем привет!

> int cod=165;char tocode=(char) cod;
> System.out.println("tocode="+tocode);

> Должен возвратить символ '?'(этот символ в не в win.1251), а возвращает '?'.

> В таблице ASCII кодов символов Windows (win.1251):
> код 165 - ?. java не читает кирилицу. Как сделать, чтобы читала.Тема==Ответить




это просто консоль выводит не так, как вам хочется.
выведите в файл, или читайте фак, там есть ссылка про русский в java

-----------------------------------
The Bat + My Gate

Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
£ ¥ ... - Ј Ґ... Вобщем кодировка
    #33340239
GlukOza
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Deady

это просто консоль выводит не так, как вам хочется.
выведите в файл, или читайте фак, там есть ссылка про русский в java

-----------------------------------
The Bat + My Gate

Posted via ActualForum NNTP Server 1.3

Этот символ я потом записываю в поле таблицы базы данных
...
Рейтинг: 0 / 0
£ ¥ ... - Ј Ґ... Вобщем кодировка
    #33340242
GlukOza
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я работаю в IDEA. Может там в настрйках как-то поменять надо кодовую страницу?
...
Рейтинг: 0 / 0
£ ¥ ... - Ј Ґ... Вобщем кодировка
    #33340277
Фотография Denis Popov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Можно нанастроить консоль IDEA для вывода таких символов: File->Settings->General. Если поставить "File Encoding" в UTF-8, то даже без перезапуска у меня в консоли вывелся символ "¥". Еще:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
 int  cod =  165 ;
 char  tocode = ( char ) cod;
OutputStreamWriter out =
   new  OutputStreamWriter(
     new  BufferedOutputStream( new  FileOutputStream( new  File("tmp.txt"))), "utf-8"
  );
out.write("tocode=" + tocode);
out.flush();

Если файл tmp.txt посмотреть в Notepad'е, то там будет:
Код: plaintext
tocode=¥

А в базу должно записаться, если используемый тип поля позволяет хранить такие символы.
...
Рейтинг: 0 / 0
£ ¥ ... - Ј Ґ... Вобщем кодировка
    #33340497
GlukOza
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Denis PopovМожно нанастроить консоль IDEA для вывода таких символов: File->Settings->General. Если поставить "File Encoding" в UTF-8, то даже без перезапуска у меня в консоли вывелся символ "¥". Еще:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
 int  cod =  165 ;
 char  tocode = ( char ) cod;
OutputStreamWriter out =
   new  OutputStreamWriter(
     new  BufferedOutputStream( new  FileOutputStream( new  File("tmp.txt"))), "utf-8"
  );
out.write("tocode=" + tocode);
out.flush();

Если файл tmp.txt посмотреть в Notepad'е, то там будет:
Код: plaintext
tocode=¥

А в базу должно записаться, если используемый тип поля позволяет хранить такие символы.

Когда в IDEA я настроила "UTF-8" , в консоли выдает tocode=¥

А теперь в таблицу записывает знак "?"
...
Рейтинг: 0 / 0
£ ¥ ... - Ј Ґ... Вобщем кодировка
    #33340509
Фотография Denis Popov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А до того записывалось нормально? Какая БД?
Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
£ ¥ ... - Ј Ґ... Вобщем кодировка
    #33340525
GlukOza
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Denis Popov
А до того записывалось нормально? Какая БД?
Posted via ActualForum NNTP Server 1.3

До этого записывалось хорошо, кроме символов типа - код(165)
А сейчас строка получается такая как надо, а в таблицу ORACL записывает знак "?".
...
Рейтинг: 0 / 0
£ ¥ ... - Ј Ґ... Вобщем кодировка
    #33340565
Фотография Timm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GlukOza Denis Popov
А до того записывалось нормально? Какая БД?
Posted via ActualForum NNTP Server 1.3

До этого записывалось хорошо, кроме символов типа - код(165)
А сейчас строка получается такая как надо, а в таблицу ORACL записывает знак "?".
как смотришь данные? (откуда)
...
Рейтинг: 0 / 0
£ ¥ ... - Ј Ґ... Вобщем кодировка
    #33340568
GlukOza
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Timm GlukOza Denis Popov
А до того записывалось нормально? Какая БД?
Posted via ActualForum NNTP Server 1.3

До этого записывалось хорошо, кроме символов типа - код(165)
А сейчас строка получается такая как надо, а в таблицу ORACL записывает знак "?".
как смотришь данные? (откуда)

Из навигатора...
...
Рейтинг: 0 / 0
£ ¥ ... - Ј Ґ... Вобщем кодировка
    #33340599
Фотография Denis Popov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А ты чем смотришь значение в базе? Дело вот в чем, у меня БД создана в юникоде, пытаюсь записать:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
Connection con =  null ;
Statement st =  null ;
PreparedStatement pst =  null ;
ResultSet rs =  null ;
 try  {
  DriverManager.registerDriver( new  oracle.jdbc.OracleDriver());
  con = DriverManager.getConnection(SERVER, USERNAME, PASSWORD);
  st = con.createStatement();
   try  {
    st.execute("drop table test");
  }  catch  (SQLException e) {}
  st.execute("create table test(value varchar2(32))");

  pst = con.prepareStatement("insert into test(value) values (?)");
  pst.setString( 1 , "" + ( char )  165 );
  pst.execute();
  rs = st.executeQuery("select * from test");
   while  (rs.next()) {
    System.out.println(rs.getString("value"));
  }
}  finally  {
   if  (rs !=  null ) { rs.close(); }
   if  (pst !=  null ) { pst.close(); }
   if  (st !=  null ) { st.close(); }
   if  (con !=  null ) { con.close(); }
}

В консоль вывело нормально (с выставленным UTF-8 как File Encoding), т.е. "¥". Далее, если смотреть данные в базе через SQL*Plus или что-либо другое не-юникодное (тот же SQL Navigator), то в качестве значения выдается "?". А вот Aqua Data Studio корректно показывает юникодный символ:
Код: plaintext
1.
2.
3.
4.
5.
6.
select t.* 
     , dump(t.value)
     , asciistr(t.value)
from hall.test t
---
"¥","Typ=1 Len=2: 194,165","\00A5"
...
Рейтинг: 0 / 0
£ ¥ ... - Ј Ґ... Вобщем кодировка
    #33340602
Фотография Timm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
SQL> drop table t;

Table dropped.

SQL> create table t(x varchar2( 30 ));

Table created.

SQL> insert into t values (chr( 165 ));

 1  row created.

SQL> select * from t;

X
------------------------------
?

SQL> select dump(x) from t;

DUMP(X)
--------------------------------------------
Typ= 1  Len= 1 :  165 

это из плюса. надеюсь понятно...

ЗЫ. стоит наверно писать Oracle :-)
...
Рейтинг: 0 / 0
£ ¥ ... - Ј Ґ... Вобщем кодировка
    #33340972
GlukOza
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Все что написано сверху проделала.

Из SQL-я все равно знак "?".

Код: plaintext
1.
2.
3.
4.
5.
...
 int  kod =  165 ;
String sql="select chr('"+cod+"') kod from dual";
rs = st.executeQuery("sql");

Почему-то не выполняется такой запрос...
...
Рейтинг: 0 / 0
£ ¥ ... - Ј Ґ... Вобщем кодировка
    #33341025
Фотография Denis Popov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GlukOza wrote:

> Из SQL-я все равно знак "?".

В SQL Navigator'е? Ну не умеет он, значит, отобразать юникод. Возьми что-либо другое.

> Почему-то не выполняется такой запрос...

И что говорит?

Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
£ ¥ ... - Ј Ґ... Вобщем кодировка
    #33341069
GlukOza
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Denis Popov
GlukOza wrote:

> Из SQL-я все равно знак "?".

В SQL Navigator'е? Ну не умеет он, значит, отобразать юникод. Возьми что-либо другое.

> Почему-то не выполняется такой запрос...

И что говорит?

Posted via ActualForum NNTP Server 1.3

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
  while  (rowds.next())
{
       System.out.println(rs.getString( 0 ));
}
// выдает:
java.sql.SQLException: Invalid column index

...
Рейтинг: 0 / 0
£ ¥ ... - Ј Ґ... Вобщем кодировка
    #33341128
Фотография Denis Popov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
 int  kod =  165 ;
String sql="select chr('"+cod+"') kod from dual";
rs = st.executeQuery("sql");

 while  (rowds.next()) {
//  System.out.println(rs.getString(0));
  System.out.println(rs.getString( 1 ));
// Или
  System.out.println(rs.getString("kod"));
}
...
Рейтинг: 0 / 0
£ ¥ ... - Ј Ґ... Вобщем кодировка
    #33341164
GlukOza
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Denis Popov
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
 int  kod =  165 ;
String sql="select chr('"+cod+"') kod from dual";
rs = st.executeQuery("sql");

 while  (rowds.next()) {
//  System.out.println(rs.getString(0));
  System.out.println(rs.getString( 1 ));
// Или
  System.out.println(rs.getString("kod"));
}


Странно, но с System.out.println(rs.getString("kod"));
взяло.
...
Рейтинг: 0 / 0
£ ¥ ... - Ј Ґ... Вобщем кодировка
    #33341222
Фотография Timm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GlukOza Denis Popov
GlukOza wrote:

> Из SQL-я все равно знак "?".

В SQL Navigator'е? Ну не умеет он, значит, отобразать юникод. Возьми что-либо другое.

> Почему-то не выполняется такой запрос...

И что говорит?

Posted via ActualForum NNTP Server 1.3

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
  while  (rowds.next())
{
       System.out.println(rs.getString( 0 ));
}
// выдает:
java.sql.SQLException: Invalid column index


индексы с 1-го начинаются...
...
Рейтинг: 0 / 0
£ ¥ ... - Ј Ґ... Вобщем кодировка
    #33341379
GlukOza
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо.

Проблему решила с помощью функции оракла. То есть возвращаю, с помощью запроса символ, а уж потом составляю строку из этих символов, и потом записываю в таблицу. Тогда символы не искажаются и знаков вопроса нет.

А вот как с помощью джавы? Пока не ВСЕ получается. . .
Надо откопать почему...
...
Рейтинг: 0 / 0
£ ¥ ... - Ј Ґ... Вобщем кодировка
    #33341733
GlukOza
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
С кодировками еще не все.

Теперь из таблицы Oracle берутся данные из поля, в котором есть такие буковки Ј Ґ идет печать. Отчет сделан в iReportе. Но вместо этих буковок печатаются квадратики. Получается кодировка в отчете не совпадает с той, которая в таблице. Кто сталкивался с такой проблемой? Как можно управлять кодировкой в отчете?
...
Рейтинг: 0 / 0
£ ¥ ... - Ј Ґ... Вобщем кодировка
    #33342070
ДимГеннадьич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GlukOzaСпасибо.

Проблему решила с помощью функции оракла. То есть возвращаю, с помощью запроса символ, а уж потом составляю строку из этих символов, и потом записываю в таблицу. Тогда символы не искажаются и знаков вопроса нет.

А вот как с помощью джавы? Пока не ВСЕ получается. . .
Надо откопать почему...

Привет.
Может так?

int cc = 165;
byte [] b = {(byte)cc};
String s = new String(b,"Cp1252"); // Cp1252 ~ same as iso8859-1 or Latin1
System.out.println(s);

Димыч
...
Рейтинг: 0 / 0
£ ¥ ... - Ј Ґ... Вобщем кодировка
    #33342096
GlukOza
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ДимГеннадьич GlukOzaСпасибо.

Проблему решила с помощью функции оракла. То есть возвращаю, с помощью запроса символ, а уж потом составляю строку из этих символов, и потом записываю в таблицу. Тогда символы не искажаются и знаков вопроса нет.

А вот как с помощью джавы? Пока не ВСЕ получается. . .
Надо откопать почему...

Привет.
Может так?

int cc = 165;
byte [] b = {(byte)cc};
String s = new String(b,"Cp1252"); // Cp1252 ~ same as iso8859-1 or Latin1
System.out.println(s);

Димыч

Ок. Попробую. Спасибо.
...
Рейтинг: 0 / 0
22 сообщений из 22, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / £ ¥ ... - Ј Ґ... Вобщем кодировка
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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