Отправка русских sms

Всем привет.
Попытался отправить русское смс с помощью gammu. но так и не удалось… (NETMON)
во всех случаях отсылается либо пустое, либо криво сообщение. английский текст ходит на ура.
ни чтение с файла, ни iconv. никак вообще не работает.
cat sms-cp1251 | iconv -f cp1251 -t UCS-2BE |gammu sendsms TEXT 89хххххххххх

точно такая же болезнь была на zabbix и там я её смог решить только положив в ручную файлик с текстом в спулер смс. вроде как от smstools шло. правильная кодировка оказалась именно UCS-2BE, при UCS-2 уже будут кракозябры)

есть ли какие варианты?

gammu sendsms TEXT +7xxxxxxxxxx -unicode -textutf8 ‘Привет’

у меня консоль вообще не позволяет писать русские символы, вся строка удаляется.
но я нашел выход из ситуации, написал скрипт который берет текст из файла

#!/bin/sh
text=`cat /sms-utf8`
gammu sendsms TEXT +79xxxxxxxxx -unicode -textutf8 $text

Так это у вас консоль неправильная. Каким приложением пользуетесь, какая ОС?

win7 enterprise + putty
в настройках стоит Translation utf-8

в соседней консоле заббикса нормально работает

locale -a
есть ru_RU.utf8?

да есть, также пробовал перегнерить их

> locale -a
C
C.UTF-8
POSIX
ru_RU.utf8

Здравствуйте!
А удалось ли вам победить в связке WIn7-putty русские символы?

Вот у меня всё именно так.
И [quote=“CRazs, post:5, topic:467”]
в настройках стоит Translation utf-8
[/quote]

не совсем) долго ковырял… русские буквы начали появляться в консоли, но занимали они по 2 символа а не по одному. ну и при вводе их куда либо, были просто пробелы.
дело это было еще до того как прошился на новую версию. там я уже не пробывал, т.к. заббикс отправляет без проблем. да и вообще аж 3 сервиса могут отправлять смс. а отправляет их у меня php скрипт.
единственная разница что я поверх httpd поставил апач. может он и конвертирует символы.

ну и на всякий случай - после установки апача не забудьте поправить watchdog

Удалось.
Русские SMS отправляются.

Важный момент - правильно запускать консоль.

Есть проблемы с приемом sms через gammu smsd демон. Только латиница

Добрый день,
не подскажете как удалось настроить отправку русских смс на контроллере?

gammu + отправка смс файлами в формате utf 16

<?php
header ("Content-Type: text/html; charset=utf8");

if (isset($_GET['sms'])) {
        if (isset($_GET['number'])) {
                $number=$_GET['number'];
                $text=urldecode($_GET['sms']);
                echo "Phone Number (916xxxxx):";
                echo $number;
                echo "<br>Text sms:";
                echo $text;
                echo "<br>Response: ";
                system('gammu -c /var/www/.gammurc sendsms TEXT +7'.$number.' -unicode -textutf8 "'.$text.'"');
        }
}
else {
echo '<html>
<form method="POST">
Number (916xxxxx): <input type="text" name="number"><br>
Message: <textarea name="message"></textarea>
<input type="submit" name="send" value="send">
</form>
</html>';
if (isset($_POST['send'])) {
        if (!empty($_POST['number'])) {
                if (!empty($_POST['message'])) {
                        $number=$_POST['number'];
                        $text=$_POST['message'];
                        echo "Phone Number (916xxxxx):";
                        echo $number;
                        echo "<br>Text sms:";
                        echo $text;
                        echo "<br>Response: ";
                        system('gammu -c /var/www/.gammurc sendsms TEXT +7'.$number.' -unicode -textutf8 "'.$text.'"');
                        }
                }
        }
}
?>

с другого сервиса можно обращатся так
http://wirenboard/sms.php?number=916xxxxxx&sms=some-text

однако надо перед этим сделать urlencode чтобы при передаче символов не потерялись всякие знаки и пробелы.

При подключении с помощью PUTTY создаем подключение с такими свойствами:
Window -> Translation выбираем UTF-8
Connection -> Data добавляем в Environtment Varaibles переменную (Variable) LC_ALL равную ru_RU.UTF8
После этого русские буквы в консоли печатаются нормально и правильно отправляются смс вида:
gammu sendsms TEXT +79154816102 -unicode -text ‘Привет’

1 Like