Haciendo una par de busquedas por internet te doy unas pistas, pero si se puede hacer, pero no facil:
- Depende de la codificacion que estes usando en tu SIM800L y las codificaciones que permitan.
AT+CSCS=?Las opciones son:
"GSM" GSM 7 bit default alphabet (3GPP TS 23.038);
"UCS2" 16-bit universal multiple-octet coded character set (ISO/IEC10646); UCS2 character strings are converted to hexadecimal numbers from 0000 to FFFF; e.g. "004100620063" equals three 16-bit characters with decimal values 65, 98 and 99
"IRA" International reference alphabet (ITU-T T.50)
"HEX" Character strings consist only of hexadecimalUsando GSM:
El problema esta en que GSM usa un alfabeto de 7bits nomas y no incluye el º que estas buscando, entonces la que te queda es poner la C directamente o buscar alguna alternativa como el asterisco. Entonces si vas por GSM es un NO.
Usando UCS2:
Genial, ahora tenemos 16bits para hacer nuestras letras, por lo que tenemos muchas mas posibilidades,
PERO:
- Los mensajes van a ser mas cortos ya que cada caracter requiere 16bits y no 7. Pero esto no es lo "malo"
-
Lo malo: TODO string que envies al modem requiere de esta codificación "extra" para pasar todo a 16bits antes de enviarlo al modem. Y si esto incluye el numero de telefono el cual antes era:
+123456Ahora sera
002B 0031 0032 0033 0034 0035 0036 En realidad es sin separar, lo separe para que se note la diferencia entre caracteresCharset Table
http://www.columbia.edu/kermit/ucs2.htmlDegree Simbol º 00B2
Si no mal lei UCS2 es obsoleto y los dispostivos android lo suplantan por UTF-16BE (big endian) ya que son parecidos pero el UTF agrega un par de cosas mas. Algo sobre UCS2
https://www.twilio.com/docs/glossary/what-is-ucs-2-character-encodingGSM 7-bit charset table
ftp://www.3gpp.org/tsg_t/tsg_t/tsgt_04/docs/pdfs/tp-99127.pdf (Para bajar)
Informacion sobre el simbolo de grado
http://www.fileformat.info/info/unicode/char/b0/index.htm