Как добавить символ новой строки в смс с помощью gammu/wammu
Я сделал собственный скрипт на PHP и использую gammu/wammu для отправки смс, но не могу понять, как добавить символ новой строки в SMS.
я пытался
\n
\r
\t
0x0a
0x0d
&10;
но ничего из этого не сработало.
4 ответа
Ты пытался \r\n
? Мне кажется, что для SMS требуется возврат каретки и перевод строки. Другое место, на которое я смотрел, сказал использовать %0a%0d
, который может работать, но, похоже, это их услуга, а не все. Я бы попробовал, хотя. В любом случае, вы должны убедиться, что 0x0A
а также 0x0D
(два символа в шестнадцатеричном формате) передаются в службу отправки SMS.
Смотрите здесь для сайта, я упомянул, что сказал %0a%0d
, он также имеет диаграмму набора символов SMS.
Я не могу заставить это работать в gammu-smsd, мне действительно нужно иметь возможность отправлять настоящий байт-код новой строки в sms. Я гуглил несколько дней, искал кодовую базу гамму. Я не могу сказать, если / где он находится в ловушке, но не важно, как я вхожу в мой sqlite3 gammu-smsd, это не перевод строки, который выходит на другом конце (sms machine2machine).
Мне не нужен CR/LF, мне просто нужно отправить шаблон с \n после шаблона переменной строки, используя его в трекере на основе смс
Обновление, я нашел способ заставить его отправлять то, что я хочу. Поскольку я использую базу данных sqlite3 с gammu, эта небольшая PHP-программа заставляет меня отправить сообщение мобильному ресурсу, и оно принимается там:
$sms_template=<<<EOD
insert into outbox ( TextDecoded , DestinationNumber, DeliveryReport, CreatorID) values ('%s','%s','yes','auto');
EOD;
$number=1243456;
$terminator=sprintf("%s",chr(10));
$db = new SQLite3("/var/spool/gammu/smsd.sqlite");
$sms='SRV=12171%s';
$sql=sprintf($sms_template, sprintf($sms, $terminator), $number);
$db->exec($sql);
Это на самом деле прекрасно хранит смс в папке исходящих сообщений, и в пункт назначения прибывает настоящая новая строка. Очень надеюсь, что это кому-то поможет. Этот код извлечен из личных данных, может работать не так, как показано, но я использую скрипт, который работает.
Гленн
Несмотря на то, что этот вопрос задавался давным-давно, я подумал, что могу добавить это в качестве ссылки.
В ходе тестирования я обнаружил, что это зависит от используемых вами цитат. Используйте " (двойные кавычки) вместо одинарных для него, чтобы правильно отформатировать сообщение и используйте \n или \r.
Надеюсь это поможет.
Ура:)
Может быть, довольно поздно с ответом, но в качестве справки, которая отлично сработала для меня:
echo -e "Hello\nWorld" | gammu ....