[ОТВЕТИТЬ]
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);
в качестве параметра передается кодировка хранимой строки.
Кодировки не помогают, вывод все равно не читабельный
11.04.2007 08:37
Dimich1978
 

пример работы по этой ссылке, может тогда подскажите в ккую сторону можно еще порыть, где проблем не будет англ или рус версия винды
11.04.2007 09:34
OlegON
 
Я бы рыл в сторону другого языка. Почему Ява?
11.04.2007 10:34
Dimich1978
 
Приложение прост было сделано на яве...и там переписывать кучу всего надо..а тут только дописать вот это и все. Да и знаю лучше всего яву
11.04.2007 11:43
OlegON
 
Я вот Яву хуже всего знаю :) Может, попробовать свалить чем-то вывод в текст, посмотреть, что там на самом деле идет на этих виндах, чтобы отвязаться от языка (хоть в терминале), а потом, если все нормально, попробовать именно этот текст в поток засунуть, не читая из порта?
11.04.2007 13:04
Dimich1978
 
А вот если проблема в настройке самого Сканера...
где можно срулить настроечную таблицу для СМ под MS9520
может у кого есть , киньте ahmaev(моя собачка)rambler.ru
Вроде сканер был настроен....но мало ли чего, судя по проблеме именно в этом дело, а не в языке(локали)
11.04.2007 13:25
OlegON
 
В "Железе" куча настроечных таблиц была. Запутал, в гипертерминале что видишь? Сканер, который работал, на этой же машине проверял?
11.04.2007 14:12
Dimich1978
 
Точно ..так и есть..сканер настроил..все Ок..льються данные нормально
Опции темы


Часовой пояс GMT +3, время: 06:33.

 

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