ALT Linux sysadmins discussion
 help / color / mirror / Atom feed
* [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 21:24 ` Anton Gorlov
@ 2016-04-02 21:30   ` Хихин Руслан
  2016-04-03  7:58     ` Sergey
  2016-04-03  7:28   ` Sergey
  1 sibling, 1 reply; 9+ messages in thread
From: Хихин Руслан @ 2016-04-02 21:30 UTC (permalink / raw)
  To: sysadmins

[-- Attachment #1: Type: text/plain, Size: 289 bytes --]

Здравствуйте Anton Gorlov
  В сообщении от 3 апреля 2016 Anton Gorlov написал(a):
> UCS2

http://smppi.net/sms-gw/chast-4-smstools-kirillica-v-sms/

-- 
  А ещё говорят так  (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-02 21:24 ` Anton Gorlov
  2016-04-02 21:30   ` Хихин Руслан
@ 2016-04-03  7:28   ` Sergey
  1 sibling, 0 replies; 9+ messages in thread
From: Sergey @ 2016-04-03  7:28 UTC (permalink / raw)
  To: ALT Linux sysadmins' discussion

On Sunday 03 April 2016, Anton Gorlov wrote:

> Если не ошибаюсь - там UCS2 или что-то подобное используется.

Тоже не прокатило, пришло B?5?A?B?

-- 
С уважением, Сергей
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-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-02 21:30   ` Хихин Руслан
@ 2016-04-03  7:58     ` Sergey
  0 siblings, 0 replies; 9+ messages in thread
From: Sergey @ 2016-04-03  7:58 UTC (permalink / raw)
  To: ALT Linux sysadmins' discussion

On Sunday 03 April 2016, Хихин Руслан wrote:

> http://smppi.net/sms-gw/chast-4-smstools-kirillica-v-sms/

Не прокатывает. Видимо, smsd что-то ещё сам делает. Параметр Alphabet,
вероятно, там не зря в параметрах. В SMS:Send непонятно пока, куда его
пристроить.

-- 
С уважением, Сергей
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