Tempo aproximado para leitura: 00:01:00 min
Dúvida
Preciso utilizar na formação dos e-mails enviados pelo Protheus, o formato UTF-8, pois todos os e-mails que o Protheus envia e tem caracteres especiais estão indo para caixa de span. O provedor informou que precisamos formatar esses e-mails com o padrão UTF-8.
Exemplo:
Ambiente
Cross Segmento - TOTVS Backoffice (Linha Protheus) – ADVPL – A partir da versão 11.80
Solução
Para tratamento com textos do tipo UTF-8, temos as funções EncodeUTF8 (Converte uma string de origem de um encoding (code-page) conhecido para a codificação UTF-8) e função DecodeUTF8 (Converte uma string UTF-8 para um buffer com encoding especificado em cEncoding).
Exemplo:
#define CRLF Chr(13) + Chr(10)
User Function Exemplo()
Local cTexto := ""
Local cEncodeUTF8 := ""
Local cDecodeUTF8 := ""
Local cMensagem := ""
cTexto := "à noite, vovô kowalsky vê o ímã cair no pé do pingüim "
cTexto += "queixoso e vovó põe açúcar no chá de tâmaras do jabuti feliz."
cEncodeUTF8 := EncodeUTF8(cTexto, "cp1252")
cDecodeUTF8 := DecodeUTF8(cEncodeUTF8, "cp1252")
cMensagem := "Pangrama origem: [" + cTexto + "]"
cMensagem += CRLF + "Texto -> UTF8: [" + cEncodeUTF8 + "]"
cMensagem += CRLF + "UTF8 -> Texto: [" + cDecodeUTF8 + "]"
MsgInfo(cMensagem, "Exemplo")
// Brasil em Russo
cTexto := chr(193)+chr(240)+chr(224)+chr(231)+chr(232)+chr(235)+chr(201)+chr(235)+chr(255)
cEncodeUTF8 := EncodeUTF8(cTexto, "cp1251")
cDecodeUTF8 := DecodeUTF8(cEncodeUTF8, "cp1251")
cMensagem := "Pangrama origem: [" + cTexto + "]"
cMensagem += CRLF + "Texto -> UTF8: [" + cEncodeUTF8 + "]"
cMensagem += CRLF + "UTF8 -> Texto: [" + cDecodeUTF8 + "]"
MsgInfo(cMensagem, "Exemplo")
Return
Saiba mais
0 Comentários