﻿id	summary	reporter	owner	description	type	status	priority	milestone	component	version	severity	resolution	keywords	cc
1123	Text to UTF8 and from UTF8	Pedro Gea	Víctor de Buen Remiro	"Son muy comunes los errores de codificación al usar TOL junto a otras herramientas en los que los caracteres se muestran ilegibles. Es relativamente habitual ver escrito {{{""EspaÃ±a""}}}.

Adjunto un conjunto de funciones para introducir en la StdLib (o en el cuerpo de funciones compiladas si se ve conveniente) que permiten salir airoso de estas situaciones.

Las dos principales funciones propuestas son: {{{TextFromUTF8}}} y {{{TextToUTF8}}} que permiten codificar el texto desde o hacia la codificación [http://es.wikipedia.org/wiki/UTF-8 UTF8].
Véase más información en la documentación escrita en el propio código.

Acompaño dos ejemplos de uso:

 * '''TestToUTF8''' Convertir el texto hacia UTF8 es útil al comunicarse con herramientas que lo requiren así, como es el caso de las funciones que usan TclTk.
   {{{
Text TclTkMessageBox(SetOfSet(
  @TclArgSt(""-title"",   ""Dialogo TclYesNoQuestion""), 
  @TclArgSt(""-message"", TextToUTF8(""¿Desea seguir con el test?"")),
  @TclArgSt(""-type"",    ""yesno""),
  @TclArgSt(""-icon"",    ""question"")
));
}}}
   Con la llamada a TextToUTF8 se evita que el primer caracter {{{¿}}} se vea como un cuadradito.

 * '''TextFromUTF8''': Esta función nos permite hacer legible el código que recibimos con estos caracteres irreconocibles:
  {{{
Text TextFromUTF8(""EspaÃ±a""); //-> ""España""
}}}
  Estos textos en ocasiones pueden aparecer así cuando proceden de otras sistemas o plataformas o de bases de datos, etc. Por ejemplo, en la información de sincronización del paquete PubDatIne que podemos encontrar en 
  {{{
Text TolPackage::Client::_.packSyncInfo::PubDatIne[3]
}}} 
  vemos un caso en el que este problema aparece con una segunda vuelta de tuerca: {{{""Datos pÃƒÂºblicos del INE""}}}
  {{{
Text TextFromUTF8(""Datos pÃƒÂºblicos del INE""); 
//-> ""Datos pÃºblicos del INE""
Text TextFromUTF8(TextFromUTF8(""Datos pÃƒÂºblicos del INE"")); 
//-> ""Datos públicos del INE""
}}}

"	enhancement	closed	normal	Mantainance	Text	head	normal	fixed		
