* [Sysadmins] Отправка SMS через GSM-модем: как выбрать кодировку ?
@ 2016-04-02 20:38 Sergey
2016-04-02 21:24 ` Anton Gorlov
` (2 more replies)
0 siblings, 3 replies; 9+ messages in thread
From: Sergey @ 2016-04-02 20:38 UTC (permalink / raw)
To: ALT Linux sysadmins' discussion
Приветствую.
Не знает ли кто, какая кодировка должна использоваться при отправке SMS, чтобы
кирилица доходила ? Есть gnokii. Если сделать "cat тест | gnokii ...", то всё
работает, когда из консоли (LANG=ru_RU.UTF-8). Хочется сделать на Perl и без
gnokii (непонятные пока сложности с установкой локали при вызове из демона, а
с POSIX вообще символы пропадают; но это отдельный вопрос). Есть такая штука:
perl-SMS-Send и perl-SMS-Send-DeviceGsm. Там всё просто, на первый взгляд:
my $sender = SMS::Send->new('DeviceGsm',
_baudrate => '19200',.
_port => '/dev/ttyUSB0',
);
my $sent = $sender->send_sms(
text => $message,
to => $phone,
);
Но просто, пока не доходит до кирилицы: текст портится. Пробовал utf8,
koi8-r, cp866, iso-8859-5, windows-1251. С последними четырьмя из слова
"тест" получаются 4 символа, так что, что-то восьмибитное, по идее...
Huawei E169, МТС. Но, наверное, это не очень принципиально, раз с gnokii
получается. Вообще, конечно, можно попробовать посмотреть вовнутрь gnokii,
но, вдруг, не надо будет там копаться ?
--
С уважением, Сергей
a_s_y@sama.ru
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [Sysadmins] Отправка SMS через GSM-модем: как выбрать кодировку ?
2016-04-02 20:38 [Sysadmins] Отправка SMS через GSM-модем: как выбрать кодировку ? Sergey
@ 2016-04-02 21:24 ` Anton Gorlov
2016-04-02 21:30 ` Хихин Руслан
2016-04-03 7:28 ` Sergey
2016-04-03 7:57 ` Sergey
2016-04-04 6:18 ` Sergey
2 siblings, 2 replies; 9+ messages in thread
From: Anton Gorlov @ 2016-04-02 21:24 UTC (permalink / raw)
To: ALT Linux sysadmins' discussion
Если не ошибаюсь - там UCS2 или что-то подобное используется.
Давно на перле ковырял скрипт под это дело
02.04.2016 23:38, Sergey пишет:
> Приветствую.
>
> Не знает ли кто, какая кодировка должна использоваться при отправке SMS, чтобы
> кирилица доходила ? Есть gnokii. Если сделать "cat тест | gnokii ...", то всё
> работает, когда из консоли (LANG=ru_RU.UTF-8). Хочется сделать на Perl и без
> gnokii (непонятные пока сложности с установкой локали при вызове из демона, а
> с POSIX вообще символы пропадают; но это отдельный вопрос). Есть такая штука:
> perl-SMS-Send и perl-SMS-Send-DeviceGsm. Там всё просто, на первый взгляд:
>
> my $sender = SMS::Send->new('DeviceGsm',
> _baudrate => '19200',.
> _port => '/dev/ttyUSB0',
> );
>
> my $sent = $sender->send_sms(
> text => $message,
> to => $phone,
> );
>
> Но просто, пока не доходит до кирилицы: текст портится. Пробовал utf8,
> koi8-r, cp866, iso-8859-5, windows-1251. С последними четырьмя из слова
> "тест" получаются 4 символа, так что, что-то восьмибитное, по идее...
>
> Huawei E169, МТС. Но, наверное, это не очень принципиально, раз с gnokii
> получается. Вообще, конечно, можно попробовать посмотреть вовнутрь gnokii,
> но, вдруг, не надо будет там копаться ?
>
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [Sysadmins] Отправка SMS через GSM-модем: как выбрать кодировку ?
2016-04-02 20:38 [Sysadmins] Отправка SMS через GSM-модем: как выбрать кодировку ? Sergey
2016-04-02 21:24 ` Anton Gorlov
@ 2016-04-03 7:57 ` Sergey
2016-04-03 8:06 ` Хихин Руслан
2016-04-04 6:18 ` Sergey
2 siblings, 1 reply; 9+ messages in thread
From: Sergey @ 2016-04-03 7:57 UTC (permalink / raw)
To: sysadmins
On Sunday 03 April 2016, Sergey wrote:
> и без gnokii (непонятные пока сложности с установкой локали при вызове из
> демона, а с POSIX вообще символы пропадают; но это отдельный вопрос)
О, прокатило вот так:
system("echo " . $message . "| LANG=ru_RU.UTF-8 /usr/bin/gnokii --sendsms \"" . $phone . "\"");
Только в таком виде перевод строки не обрабатывается - ничего не приходит.
SMS::Send с переводом строки справляется. А вот если файл с переводами
строк cat-ом скормить в gnokii, то работает. Наверное, придётся $message
в файл писать предварительно.
--
С уважением, Сергей
a_s_y@sama.ru
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [Sysadmins] Отправка SMS через GSM-модем: как выбрать кодировку ?
2016-04-03 7:57 ` Sergey
@ 2016-04-03 8:06 ` Хихин Руслан
2016-04-03 9:02 ` Sergey
0 siblings, 1 reply; 9+ messages in thread
From: Хихин Руслан @ 2016-04-03 8:06 UTC (permalink / raw)
To: sysadmins
[-- Attachment #1: Type: text/plain, Size: 460 bytes --]
Здравствуйте Sergey
В сообщении от 3 апреля 2016 Sergey написал(a):
> А вот если файл с переводами
> строк cat-ом скормить в gnokii, то работает. Наверное,
> придётся $message в файл писать предварительно.
А считайте всё в массив и сравните, то что выдаёте и что читаете.
Кстати, как вы перевод строки обозначаете?
--
А ещё говорят так (fortune):
.
________________________________________________________________________
С уважением Хихин Руслан
[-- Attachment #2: This is a digitally signed message part. --]
[-- Type: application/pgp-signature, Size: 181 bytes --]
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [Sysadmins] Отправка SMS через GSM-модем: как выбрать кодировку ?
2016-04-03 8:06 ` Хихин Руслан
@ 2016-04-03 9:02 ` Sergey
0 siblings, 0 replies; 9+ messages in thread
From: Sergey @ 2016-04-03 9:02 UTC (permalink / raw)
To: ALT Linux sysadmins' discussion
On Sunday 03 April 2016, Хихин Руслан wrote:
> А считайте всё в массив и сравните, то что выдаёте и что читаете.
> Кстати, как вы перевод строки обозначаете?
Да сравнил уже. Собственно говоря, там сравнивать нечего особо:
my $message="";
my $n="";
while (<STDIN>) {
chomp;
$message=$message . $n . $_ ;
$n="\n";
}
В общем, переделал на запись собщения в файл и cat. Работает.
С SMS::Send, может, потом поковыряюсь.
--
С уважением, Сергей
a_s_y@sama.ru
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [Sysadmins] Отправка SMS через GSM-модем: как выбрать кодировку ?
2016-04-02 20:38 [Sysadmins] Отправка SMS через GSM-модем: как выбрать кодировку ? Sergey
2016-04-02 21:24 ` Anton Gorlov
2016-04-03 7:57 ` Sergey
@ 2016-04-04 6:18 ` Sergey
2 siblings, 0 replies; 9+ messages in thread
From: Sergey @ 2016-04-04 6:18 UTC (permalink / raw)
To: ALT Linux sysadmins' discussion
On Sunday 03 April 2016, Sergey wrote:
> gnokii (непонятные пока сложности с установкой локали при вызове из
> демона, а с POSIX вообще символы пропадают; но это отдельный вопрос).
gnokii, оказывается, выдаёт ошибки в про кодировку, а не просто символы
пропадают. Как только начал в лог выводить всё, что попадает в stderr,
увидел "ucs2_encode/iconv: Неверный или неполный мультибайтный или
широкий символ". Заодно увидел прямое упоминание ucs2. Значит, в плане
разбора с SMS:Send, надо пытаться понять, в каком месте ломается ucs2.
--
С уважением, Сергей.
^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2016-04-04 6:18 UTC | newest]
Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-04-02 20:38 [Sysadmins] Отправка SMS через GSM-модем: как выбрать кодировку ? Sergey
2016-04-02 21:24 ` Anton Gorlov
2016-04-02 21:30 ` Хихин Руслан
2016-04-03 7:58 ` Sergey
2016-04-03 7:28 ` Sergey
2016-04-03 7:57 ` Sergey
2016-04-03 8:06 ` Хихин Руслан
2016-04-03 9:02 ` Sergey
2016-04-04 6:18 ` Sergey
ALT Linux sysadmins discussion
This inbox may be cloned and mirrored by anyone:
git clone --mirror http://lore.altlinux.org/sysadmins/0 sysadmins/git/0.git
# If you have public-inbox 1.1+ installed, you may
# initialize and index your mirror using the following commands:
public-inbox-init -V2 sysadmins sysadmins/ http://lore.altlinux.org/sysadmins \
sysadmins@lists.altlinux.org sysadmins@lists.altlinux.ru sysadmins@lists.altlinux.com
public-inbox-index sysadmins
Example config snippet for mirrors.
Newsgroup available over NNTP:
nntp://lore.altlinux.org/org.altlinux.lists.sysadmins
AGPL code for this site: git clone https://public-inbox.org/public-inbox.git