Usina BRGuía AdvPL
Ingresar
← Todos los temas
GUíA PRáCTICAEn revisión

Codificación UTF-8, ANSI y caracteres especiales

Identifica codificación de bytes antes de convertir texto.

Codificación UTF-8, ANSI y caracteres especialesAdvPL
01 · DESCRIPCIÓN GENERAL

Descripción general

ANSI no identifica página de código universal. Identificar bytes origen y destino: EncodeUTF8 convierte página conocida a UTF-8; DecodeUTF8 convierte a página indicada, con cp1252 predeterminado. Repetir conversión puede corromper texto. EncodeUTF8 puede devolver Nil por bytes inválidos. Ejemplo construye byte cp1252 de é con Chr(233), sin depender de codificación del fuente, y comprueba ida y vuelta; no supone que todo Unicode quepa en cp1252. (TOTVS, s.f., refs. 1–2)

03 · EJEMPLO PRÁCTICO

Ejemplo comentado

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

Se espera igualdad verdadera para byte válido; investigar ausencia de salida como fallo de conversión. En revisión: ejemplo editorial no compilado ni ejecutado en Protheus. Comprobar includes, release, RDD y contexto antes de probar.

BUENAS PRÁCTICAS
  • Separar codificación de fuente, transporte y almacenamiento. No reparar acentos con sustituciones arbitrarias ni ocultar datos inválidos suprimiendo errores.
  • En revisión: ejemplo editorial no compilado ni ejecutado en Protheus. Comprobar includes, release, RDD y contexto antes de probar.

Contenido relacionado

REFERENCIAS
  1. TOTVS. EncodeUTF8. TDN. Consulta el 2026-10-26.
  2. TOTVS. DecodeUTF8. TDN. Consulta el 2026-10-26.
Estado
En revisión
Página creada el
Última revisión el
Idioma original
Portugués
Revisión
Usina.BR
0 comentario(s) aprobado(s)

Comentarios

Todavía no hay comentarios aprobados.

Inicia sesión con Google o Microsoft para comentar.

Desarrollado con Usina Docs · Alpha