First of all it seems you are sending SMS using a web-based gateway. So you need to consult the documentation for that gateway.
Secondly I don't understand why .'&coding=2'.'&charset=utf-8' changes the breakup of messages; that should be done only by body lengths, not by the length of the submission URL. And I don't see the significants of length 16; the length limitation for the message body is
more around 140 to 155 characters 160 bytes.
As for the special characters that don't work, see how enurl() escape those, and what your SMS gateway provider expects.