device::gsm device::gsm:sms отправка рус sms под perl через gsm модем, bytestore, 20-Дек-07, 17:37 [смотреть все]У когонибудь получилось отправлять этим модулем русские sms через ком порт?? use Device::Gsm; $content = "ТЕСТ"; my $gsm = new Device::Gsm( port => '/dev/cuad0' ); if( $gsm->connect() ) { print "connected!\n"; } else { print "sorry, no connection with gsm phone on serial port!\n"; }my $lOk = $gsm->send_sms( content => $content, recipient => '+7ххххххххх', class => 'normal', # try `flash' mode => 'pdu' ); if( $lOk ) { print "SMS check money sent!\n" ; } else { print "Error in sending!\n"; exit ; } на трубку приходит "ôåóô" я понимаю что это UTF8, пробовал набить в кодировке UTF8, на трубку приходит "DcDDiDc" конвертировал всеми возможными способами, безрезультатно :( в модуле gsm.pm нашел строки которые кодируют мессагу перед отправкой # Encode text $text = Device::Gsm::Charset::iso8859_to_gsm0338( $text ); my $enc_msg = Device::Gsm::Pdu::encode_text7( $text ); пробовал закоментировать эту функцию, с сделать my $enc_msg = $text; тогда вообще не отсылает видимо формат PDU нарушается
|
- device::gsm device::gsm:sms отправка рус sms под perl через ..., vic, 18:08 , 20-Дек-07 (1)
- device::gsm device::gsm:sms отправка рус sms под perl через ..., bytestore, 18:33 , 20-Дек-07 (2)
>[оверквотинг удален] >> $text = Device::Gsm::Charset::iso8859_to_gsm0338($text); > >тут из кодировки 8859 делается некая gsm0338 >> my $enc_msg = Device::Gsm::Pdu::encode_text7($text); > >тут конвертируется видимо в 7битку > >итого текст должен быть в iso8859,но т.к. iso8859 это еще не русские >буквы то надо искать >что нить типа Device::Gsm::Charset::ВАША_КОДИРОВКА_to_gsm0338($text); У меня koi8r >>что нить типа Device::Gsm::Charset::ВАША_КОДИРОВКА_to_gsm0338($text); Пробовал закоментить строку перекодирования в модуле и сам кодировал Encode::from_to($content, 'koi8r', 'gsm0338'); выползают "????"
- device::gsm device::gsm:sms отправка рус sms под perl через ..., vic, 18:56 , 20-Дек-07 (3)
- device::gsm device::gsm:sms отправка рус sms под perl через ..., exn, 00:23 , 21-Дек-07 (4)
- device::gsm device::gsm:sms отправка рус sms под perl через ..., bytestore, 09:52 , 21-Дек-07 (5)
>[оверквотинг удален] > >>У меня koi8r > >а принимает 8859 >т.е. надо >Encode::from_to($content, 'koi8r', 'iso8859'); >но т.к. в iso8859 будут крякозябы.. хм.. надо читать доки на девайс.. > > >хм.. пока ничего не могу посоветовать.. Да девайс с русскими работает, принимает смс нормально $koi8_str = $koi8->to8(utf8($text)->utf16); таким образом перекодирую sms в koi8 >>Encode::from_to($content, 'koi8r', 'iso8859'); Может должна быть iso8859-5 это вроде русская как я понимаю, а iso8859-1 это обычная latin1
- device::gsm device::gsm:sms отправка рус sms под perl через ..., svi, 11:19 , 12-Июл-11 (12)
|