Foros Néfele 4 Harbour › Foros › Dudas › Se Visualizan símbolos raros en lugar de carácteres especiales
- Este debate tiene 7 respuestas, 2 mensajes y ha sido actualizado por última vez el 4 años, 1 mes por Xevi. This post has been viewed 766 times
-
AutorEntradas
-
-
27-09-2020 a las 15:54 #838XeviParticipante
Otro tema que me ocupa ahora.
Dado un libro Excel con los datos
Hoja1=aeiou
Celdas: A1 = aaa A2=eee A3=iii A4=ooo A5=uuu A6=aeiou A7=AEIOU
Hoja2=áéíóú
Celdas: A1 = ááá A2=ééé A3=ííí A4=óóó A5=úúú A6=áéíóú A7=ÁÉÍÓÚ
Cuando recupero valores (texto) de una hoja Excel, y las celdas o nombres de los libros contienen letras acentuadas o símbolos especiales, cuando los visualizo en una página, visualizo símbolos "raros", y en Néfele Console espacios o símbolo cuadrado.
¿Me dejo algo por el camino???
Un Saludo,
Xevi.
Adjuntos:
Debes acceder para ver los archivos adjuntos. -
27-09-2020 a las 21:33 #847Alfredo SanzSuperadministrador
Sí, eso es cosa de la codificación de caracteres.
Html utiliza utf8 y por lo visto excel no.
Utiliza la función AsciiHtml(<texto>) para convertir el texto que te llega a utf8
Más info en https://nefele.dev/wiki/funciones/asciihtml
-
27-09-2020 a las 21:58 #851XeviParticipante
Fredy,
PERFECTO!!!
Un Saludo,
Xevi.
-
29-09-2020 a las 09:42 #863XeviParticipante
Otra cosa que veo y me he topado por lo que respecta a esos mismos caracteres especiales...
Cuando en un proyecto Néfele añado un nuevo módulo prg, Xailer lo crea por defecto con el juego de caracteres "ANSI", por lo que debo de cambiar cada vez que creo un prg nuevo el juego de caracteres a UTF-8
¿Alguna manera de poder decir a Xailer que ese proyecto genere los nuevos módulos/prgs a caracteres UTF-8???
Un saludo,
Xevi
-
29-09-2020 a las 10:27 #864Alfredo SanzSuperadministrador
De momento no.
Pero lo comentaremos con el equipo de desarrollo de Xailer, a ver si lo pueden incorporar en la próxima versión de Xailer
-
29-09-2020 a las 19:25 #866XeviParticipante
Siguiendo el tema de caracteres especiales, no es tema de Néfele ni de Xailer, pero lo expongo por si alguien tiene o sabe de alguna solución.
Resulta que tengo hecha mi prime aplicacioncilla con Néfele, una mini que se encarga de leer datos de un Excel y los convierto a un ficherete Xml. Tengo hecho segun normativa SEPA19 y SEPA34 (recibos domiciliados y transferencias)
Bien, pues SOLO un pequeño tema, nada menos con los caracteres especiales que se pueden teclear en un WEdit o que puedo leer de una celda del Excel. Puede ser que en algunos casos, en esos datos haya algun dato de los especiales, acentos, etc... (áéíóúÁÉÉÓÚ...)
Es por si sabeis de alguna funcion para "reconvertir" esos caracteres por los que se piden en la normativa SEPA...
<?xml version="1.0" encoding="ISO-8859-1"?>
-<Document xmlns="urn:iso:std:iso:20022:tech:xsd:pain.001.001.03" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
No se, yo de momento tengo una funcioncilla mía que a medida que me los voy encontrando voy incorporando.
123456789101112131415161718192021222324252627282930313233function xStrExcelToSEPAxml( cText )Local n, cBusca, cTorna := "", nAscanLocal aAsci195 := { {{135,-1,-1},"C"}, {{145,-1,-1},"N"}, {{128,129,132},"A"}, {{136,137,139},"E"}, {{140,141,143},"I"}, {{146,147,150},"O"}, {{153,154,156},"U"},; //Ç Ñ ÁÀÄ ÉÈË ÍÌÏ ÓÒÖ ÚÙÜ{{167,-1,-1},"c"}, {{177,-1,-1},"n"}, {{161,160,164},"a"}, {{169,168,171},"e"}, {{173,172,175},"i"}, {{179,178,182},"o"}, {{186,185,188},"u"} } //ç ñ áàä éèë íìï óòö úùüLocal aAsci194 := { {{170,-1,-1},"a"}, {{186,-1,-1},"o"} } //ªºLocal nAsciFor n:=1 To Len( cText )cBusca := SubStr( cText, n, 1 )nAsci := Asc(cBusca)If nAsci = 195 .or. nAsci = 194 //Caràcter Especialn++If n <= Len(cText)cBusca := Asc(SubStr( cText, n, 1 ))IF (nAscan := Ascan( IF(nAsci = 195, aAsci195, aAsci194 ), {|x| x[1,1] = cBusca .or. x[1,2] = cBusca .or. x[1,3] = cBusca } )) > 0cTorna += IF(nAsci = 195, aAsci195, aAsci194 )[nAscan,2]ElsecTorna += " "EndIfEndIfElseIf cBusca $ "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789/-?:().,;‘+' &<>" + '"'cTorna += cBuscaElsecTorna += " "EndIfEndIfNextreturn cTornaLos caracteres especiales, he visto que se componen de 2 caracteres, el primero es un asc 195 o 194
Un saludo,
Xevi.
-
29-09-2020 a las 21:40 #869Alfredo SanzSuperadministrador
Uff, lo del juego de caracteres es una auténtica locura. Como los americanos no se ven en este problema, nos lían la cabeza a los demás.
Prueba con HB_StrToUTF8 y HB_UTF8ToStr
En nefele tenemos StrToXml(cCadena,lInverso) que igual te sirve. si lInverso = .t. te hace xmlToStr
Ya me dirás si te sirve alguna.
Sería interesante tener una solución común a este problema.
-
29-09-2020 a las 22:45 #871XeviParticipante
Fredy,
Gracias, pero no me sirven, pero las anoto por si acaso pueden servirme para otros casos.
El tema está en que la normativa SEPA, por lo que concierne al fichero Xml resultante, debe de codificarse segun ISO-8859-1
https://ca.wikipedia.org/wiki/Latin-1
supongo que hay que "sustituir" estos caracteres por uno correspondiente/aproximado o simplemente por un espacio o prescindir de él.
De momento me lo voy a apañar como lo estoy haciendo, que servir ya hace algunos años que me está sirviendo.
por cierto, la "adaptación" de ese programita/rutina que tengo hecho y funcionando en Xailer de hace años, en mi primera prueba a Nefelizarlo, ha estado SUPER!!!
De paso me ha servido para "entender" un poco más el funcionamiento de Néfele, y así poquito a poco...Esperando más noticias, novedades, reuniones, quedadas en Skype... y si algun curso se imparte, aquí seguiremos.
Gracias por vuestro tiempo.
Un Saludo,
Xevi.
-
-
AutorEntradas
- Debes estar registrado para responder a este debate.