10.04.2007 12:01
Dimich1978
 
Есть сканер(Voyager Metrologic), через com порт читаю с него в свою прогу. Все ОК если винда англоязычная, все нормально в нужной кодировке записываеться в мою базу данных. Но если винда наша , ХП РУС(проверено компах на 10-и), то при получении со сканера данных, они отображаються крякобязами, такое ощущение что кодировка какя то не та. Что подскажете сотворить, чтобы и в рк=усских версиях все было нормально.
10.04.2007 12:10
OlegON
 
Как читаешь? Точно COM, а не разрыв клавиатуры? Очень похоже на последнее. Попробуй на русской поставить по умолчанию английскую локаль.
10.04.2007 12:59
Dimich1978
 
Точно COM .
Читаю напрямую из ком порта.
10.04.2007 13:02
baggio
 
из чего читаешь?
Какую библиотечку пользуешь?
10.04.2007 13:04
OlegON
 
Цитата:
Dimich1978 Точно COM .
Читаю напрямую из ком порта.
Код приведи? Не бойся, это уже давно не ноухау :)
10.04.2007 15:17
Dimich1978
 
пишу на яве
case SerialPortEvent.DATA_AVAILABLE:
byte[] readBuffer = new byte[20];
count++;
try {
// String data="";
while (inputStream.available() > 0) {
inputStream.read(readBuffer);
// data+=new String(readBuffer);
}
// byte[] byte_var = new byte[20];
// ByteToCharCp1251 nn = new ByteToCharCp1251();
// char[] char_var = nn.convertAll(readBuffer);
// System.out.println(char_var);
String data=new String(readBuffer);
System.out.println(data);
try {

Properties propKass=new Properties();
FileInputStream f=new FileInputStream("com.properties");
propKass.load(f);
f.close();

propKass.setProperty("data_"+count,data);
FileOutputStream f1=new FileOutputStream("com.properties");
propKass.store(f1, "com.properties");
f1.close();
} catch (Exception ex) {

}
//
// }
if(data.trim().isEmpty()){
return;
}
10.04.2007 15:26
OlegON
 
Мсье понимает толк в извращениях... Ты посмотри коды, которые у тебя в readBuffer ложатся. Это на выводе фигня происходит.
10.04.2007 15:42
Dimich1978
 
#com.properties
#Tue Apr 10 15:12:47 MSD 2007
data_7=\u0402\u0402\u0402x\u001E\u0402\u0448\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000
data_6=x\u001E\u0402\u0000\u0402x\u001E\u0402\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000
data_5=\u0402\u0402\u0402\u0402\u0402x\u001E\u0402\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000
data_4=\u0000\u0402\u0448\u0448\u0402\u0000\u0402\u0448\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000
data_3=\u0402\u0000\u0000\u0448\u0402\u0402\u0448\u0402\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000
data_2=\u0000\u0402x\u0000\u044F\u0402\u0000\u0402\u0448\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000
data_1=\u0402\u0000\u0402\u0402\u0402\u0402\u0402\u0402\u0000\u0402\u0000\u0402x\u0000\u044F\u0402\u0000\u0000\u0000\u0000
10.04.2007 16:07
OlegON
 
Насколько я помню, в
Код:
String(readBuffer);
в качестве параметра передается кодировка хранимой строки.
10.04.2007 16:40
Dimich1978
 
Цитата:
olegon Насколько я помню, в
Код:
String(readBuffer);
в качестве параметра передается кодировка хранимой строки.
Кодировки не помогают, вывод все равно не читабельный
Часовой пояс GMT +3, время: 16:25.

Форум на базе vBulletin®
Copyright © Jelsoft Enterprises Ltd.
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.