close Warning: Can't synchronize with repository "(default)" (/var/svn/tolp does not appear to be a Subversion repository.). Look in the Trac log for more information.

Opened 12 years ago

Closed 12 years ago

Last modified 12 years ago

#1647 closed defect (fixed)

Incongruencia entre elementos importados y visualizados de un conjunto creado mediante funciones de SaddExcel

Reported by: lmperez@… Owned by: Pedro Gea
Priority: normal Milestone: Mantainance
Component: Excel API Version: 3.1
Severity: normal Keywords:
Cc:

Description

Hola TOL, cuando hacemos una importación desde Excel con el paquete SaddExcel, por ejemplo:

  #Require SaddExcel;

  Text XLSOpenExcel(file,False);
  Text XLSSelectWorksheetByName(sheet);
  Set sInfo = XLSReadRange(cell1,cell2);
  Text XLSQuit(?);

Y dentro de Excel tenemos caracteres como "Á", "É", etc, éstos se importan mal. La correspondencia que he encontrado es:
á --> á
é --> é
í --> í
ó --> ó
ú --> ú
Á --> Á
É --> É
Í --> Í
Ó --> Ó
Ú --> Ú
ñ --> ñ
Ñ --> Ñ
ü --> ü
Ü --> Ü
ç --> ç
Ç --> Ç

Sin embargo, cuando hacemos una importación, y visualizamos el Set TOL que obtenemos con click derecho -> "Tabular conjunto", resulta que éstos caracteres los muestra bien, mientras que dentro del Set están mal. Esto es muy confuso.

Gracias de antemano

Change History (3)

comment:1 Changed 12 years ago by Pedro Gea

Owner: changed from Jorge to Pedro Gea
Status: newaccepted

comment:2 Changed 12 years ago by Pedro Gea

Resolution: fixed
Status: acceptedclosed

Hola. El paquete SaddExcel no está entre los paquetes públicos/oficiales de TOL. Necesitarías dirigirte al trac correspondiente al desarrollo de dicho paquetes.

De cualquier modo, el problema que planteas es debido a la codificación de caracteres unicode con bytes del ASCII. Mira el paquete público TextEncoding, el tique #1123 y las páginas LATIN1 and UTF8 y TextEncoding.

Por ejemplo, la correspondencia que dices se puede ver como:

#Require TextEncoding;
Text TextEncoding::Latin1ToUTF8("á"); // -> "á"
Text TextEncoding::Latin1FromUTF8("á"); // -> "á"

comment:3 Changed 12 years ago by Pedro Gea

La correcta visualización de estos caracteres en TOLBase es debida a las características internas de tcl/tk, pues éste sí funciona de manera natural con los caracteres codificados en unicode.

Note: See TracTickets for help on using tickets.