Usina BRAdvPL Guia
Entrar
← Todos os tópicos
GUIA PRÁTICOEm revisão

Codificação UTF-8, ANSI e caracteres especiais

Identifica a codificação dos bytes antes de converter texto.

Codificação UTF-8, ANSI e caracteres especiaisAdvPL
01 · VISÃO GERAL

Visão geral

ANSI não designa uma única página de código. Identifique a origem dos bytes e o destino: EncodeUTF8 converte de uma página conhecida para UTF-8; DecodeUTF8 faz o caminho para a página informada, com cp1252 como padrão documentado. Converter novamente um texto já convertido pode corrompê-lo. EncodeUTF8 pode devolver Nil para bytes inválidos na página declarada. O exemplo monta o byte cp1252 de é com Chr(233), evitando depender da codificação do arquivo-fonte, e confere a ida e volta; não pressupõe que todo caractere Unicode caiba em cp1252. (TOTVS, s.d., refs. 1–2)

03 · EXEMPLO PRÁTICO

Exemplo comentado

#Include "Protheus.ch"
User Function Ed304()
    Local cOrigem := Chr(233)
    Local cUtf8 := EncodeUTF8(cOrigem, "cp1252")
    // Confere tipo antes de usar a conversao.
    If ValType(cUtf8) == "C"
        ConOut(cValToChar(DecodeUTF8(cUtf8, "cp1252") == cOrigem))
    EndIf
Return Nil
Resultado esperado

Espera-se igualdade verdadeira para esse byte válido; a ausência de saída deve ser investigada como falha de conversão. Em revisão: exemplo editorial não compilado nem executado em Protheus. Conferir includes, release, RDD e contexto antes de homologar.

BOAS PRÁTICAS
  • Separar codificação do fonte, do transporte e do armazenamento. Não corrigir acentos por substituições ad hoc nem desativar erros de conversão para ocultar dados inválidos.
  • Em revisão: exemplo editorial não compilado nem executado em Protheus. Conferir includes, release, RDD e contexto antes de homologar.

Conteúdos relacionados

REFERÊNCIAS
  1. TOTVS. EncodeUTF8. TDN. Consulta em 2026-10-26.
  2. TOTVS. DecodeUTF8. TDN. Consulta em 2026-10-26.
Situação
Em revisão
Página criada em
Última revisão em
Idioma original
Português
Revisão
Usina.BR
0 comentário(s) aprovado(s)

Comentários

Ainda não há comentários aprovados.

Entre com Google ou Microsoft para comentar.

Powered by Usina Docs · Alpha