问题
I'm running Kannel which i use as an SMS gateway. But I've just realized some special symbols are not received on phone as they should; @, ^ and $ are sent as some triangle; How can i resolve this?
回答1:
Probably a charset problem. SMSes are usually received with GSM7 charset, and the characters you gave have different GSM7 numeric codes that, for example, ISO-8859-1. You should convert from GSM7 to your own character encoding.
The char @ may be problematic for another reason. In GSM7 it is s 0 (zero). If you leave it as it is and your programming language uses a zero-terminated strings -- all strings containing @ will look like they terminated just before this character.
See here for a table of GSM7 characters.
来源:https://stackoverflow.com/questions/12708074/sending-special-characters-as-a-message