2016-02-02 34 views
0

我正在使用Gammu和PostgreSQL從我的電腦發送短信。 我已成功發送普通文本短信。Gammu和PostgreSQL發送8位短信

但是當我試圖發送8位(二進制)消息到我的設備時,我現在有一些問題。這是我簡單的查詢,將消息注入gammu'outbox'表。

INSERT INTO outbox (
"DestinationNumber", 
"Text", 
"TextDecoded", 
"Coding", 
"UDH", 
"CreatorID") VALUES (
'202555xxxx', 
'02616A03776C66JF010000198C000403E800013003F200013003F30002323003F400023230', 
'', 
'8bit', 
'06050407d50000', 
'ConfigurationSMS'); 

,你可以看到02616A03776C66JF010000198C000403E800013003F200013003F30002323003F400023230是我使用十六進制值編碼的短信。發件箱表中的值是正確的。

但是,當已發送郵件,我看我的收件箱中的表,文本值更改爲這個02616A03776C66BF0100000D8C000203E800013103F2000131FD00 00007400650073007400

有誰知道爲什麼監務發送不同的文本?以及如何防止發生變化?謝謝。

+3

您的字符串不是「十六進制」編碼,因爲它包含一個「J」字符。 –

+0

啊,對。編碼我的文本時是我的錯。現在我的代碼完美地工作。 !謝謝 !! @啊。 – Anton

回答

0

如前所述,在HEX編碼的字符串中存在無效字符。

但我認爲Gammu應該抱怨這樣的錯誤,所以我會努力解決上游問題,請參閱https://github.com/gammu/gammu/issues/185以取得進展。

+0

很高興聽到這個消息。非常感謝你。 @michal – Anton