Hola. Finalmente decidí usar los códigos de la tabla junto con unichr, ahora funciona todo cómo debe.
Muchas gracias César. Saludos! ________________________________________ De: gvsig_desarrolladores-boun...@listserv.gva.es <gvsig_desarrolladores-boun...@listserv.gva.es> en nombre de César Martínez <cmarti...@scolab.es> Enviado: lunes, 05 de diciembre de 2016 13:06 Para: Lista de Desarrolladores de gvSIG Asunto: Re: [Gvsig_desarrolladores] Editor de Scripts - Palabras con acentos Hola, por lo que comentas podría ser que hubiese un problema en la forma en la que gvSIG carga los scripts, usando la codificación del sistema e ignorando la declarada en la cabecera. Hasta que se solucione, tienes las dos opciones que comentabas: - guardar el fichero como latin1 (funcionará si es la codificación de tú sistema, aunque puede fallar si distribuyes los scripts a otros usuarios) - usar los códigos de la tabla, con lo cual evitas el problema de la carga de caracteres especiales. Espero que te sea de utilidad. Saludos, César El día 5 de diciembre de 2016, 13:22, CARLOS COLOMBANA <carlos.colomb...@mtop.gub.uy> escribió: > Hola. > > > Había visto que el truco de la letra "u" delante funcionaba para el caso de > una única cadena de texto, pero no logré descubrir cómo hacerlo funcionar a > la hora de concatenar (sumar) más de una cadena de texto. > > En base a sus comentarios, volví a probar sustituyendo el encabezado de los > scripts por: > > > # encoding: latin-1 > > > Lo cual funcionó!, pero si entendí bien, no es una práctica recomendable. > > Entonces la solución sería usar la función unichr y los códigos de la tabla, > ¿es correcto?, aunque no sea elegante. > > Se me ocurre concatenar (sumar) las cadenas de texto y guardarlas en una > variable, antes, y luego pasar la variable utilizando la letra "u" delante. > ¿Se les ocurre cómo hacerlo? (sin que la variable con la letra "u" delante > sea interpretada como otra variable diferente, la cual no estaría definida, > o errores similares). > > Muchísimas gracias a ambos por su ayuda y por los enlaces! > > > Saludos! > > Carlos. > > ________________________________ > De: gvsig_desarrolladores-boun...@listserv.gva.es > <gvsig_desarrolladores-boun...@listserv.gva.es> en nombre de Gilberto Cugler > <gilbertocug...@gmail.com> > Enviado: sábado, 03 de diciembre de 2016 11:07 > Para: Lista de Desarrolladores de gvSIG > Cc: SERGIO ACOSTAYLARA > Asunto: Re: [Gvsig_desarrolladores] Editor de Scripts - Palabras con acentos > > Olá; > > Eu tive o mesmo problema com a versão 2.1 em agosto/2015 e Joaquim me deu a > seguinte solução. > Ahora mismo no se como arreglarlo, pero podias probar a poner algo como: > > > > para probar si tiene que ver con la codificacion del sistema. > Si so funcionase, la unica solucion que puedo darte ahora mismo es > que apara introducir los caracteres especiales uses la funcion unichr. > Puedes consultar los unicodes de los caracteres en la tabla: > > https://en.wikipedia.org/wiki/List_of_XML_and_HTML_character_entity_references#Character_entity_references_in_HTML > > el valor entre parentesis de la columna "unicode code point" es el codigo a > usar > en la funcion unichr. > > Un saludo > Joaquin > > Fiz um teste em student e funcionou, pode ser uma saída de emergência, não é > nada elegante porém resolve. > Ver destaque em vermelho(Rojo) > > userName = self.txtUserName.getText() > character_set = list( string.ascii_uppercase) > invalid_characters = ''.join(character for character in userName if not > character in character_set) > if len(userName) == 0 or len(invalid_characters) != 0: > msgbox("Nome Inv"+unichr(225)+"lido !!!", "Forbidden", FORBIDEN) > else: > self.acceptUser(userName) > self.hide() > > def btnCancel_click(self,*args): > > _____________________________________________________________________________ > > No exemplo traduzido de > http://downloads.gvsig.org/download/web/html/es/scripting_devel_guide/2.3/capturando_eventos.html > o uso da letra "u" funciona perfeitamente. > > # encoding: utf-8 > from gvsig import * > from gvsig.commonsdialog import * > > from org.gvsig.fmap.mapcontext.events.listeners import ViewPortListener > from gvsig.libs.formpanel import FormPanel > import os > > > class MonitorEscala(ViewPortListener, FormPanel): > def __init__(self, mapContext): > FormPanel.__init__(self, > os.path.join(os.path.dirname(__file__),"monitor_escala.xml")) > > self.mapContext = mapContext > > #Iniciamos valores de etiquetas > self.lblName.setText("Escala") > self.txtScale.setText(self.getScale()) > > # Agregamos listener al ViewPort > self.mapContext.getViewPort().addViewPortListener(self) > > def btnCerrar_click(self,*args): > # Eliminamos el listener > self.mapContext.getViewPort().removeViewPortListener(self) > self.hide() > > def getScale(self): > scale = "1:"+ str(self.mapContext.getScaleView()) > return scale > > def changeScale(self): > self.txtScale.setText(self.getScale()) > > # Metodo obligatorio de ViewPortListener > def backColorChanged(self,*args): > pass > > # Metodo obligatorio de ViewPortListener > def extentChanged(self,*args): > self.changeScale() > > # Metodo obligatorio de ViewPortListener > def projectionChanged(self,*args): > pass > > > def main(*args): > if currentView() == None: > msgbox(u"É necessário ter uma vista aberta e ativa") > return > > mapContext = currentView().getMapContext() > monitor = MonitorEscala(mapContext) > monitor.showTool(u"Visualização da Escala") > > Espero que isto possa dar uma pista para a solução. > abrazos > > 2016-12-03 8:18 GMT-02:00 Francisco Puga <fp...@icarto.es>: >> >> Como dice gilberto el tema de los acentos u otros caracteres es >> bastante confuso en todos los lenguajes de programación [4] [5]. En >> concreto en python creo que hay que saber dos cosas básicas. >> >> * Encoding del fichero. Hay diferentes formas de representar un texto >> a nivel interno del ordenador. Por decirlo de algún modo la forma en >> que se representan se denomina encoding y empareja una letra >> cualquiera "a" o "ñ" o lo que sea con un número que es lo que se puede >> almacenar en un ordenador. Es el típico problema de los dbf, que >> cuando abres con la hoja de cálculo te pregunta en que encoding está. >> El encoding de un fichero python se representa con esa "línea mágica" >> del principio del fichero y la recomendación es usar siempre utf-8 >> [1]. En python 3 se usa por defecto utf-8 por lo que no haría falta >> [2] >> >> * Encoding de una cadena de texto concreta. Por defecto en python 2.x >> las cadenas de texto que escribimos no se interpretan con un "encoding >> bueno" [3], si no con uno genérico por decirlo de algún modo. Para que >> los interprete con un "encoding bueno" en lugar de escribir >> simplemente: >> >> 'Esta es mi cadena de texto con ñ' >> >> escribiremos >> >> u'Esta es mi cadena de texto con ñ' >> >> Esa "u" del principio es el truco. >> >> Usando la línea mágica del principio en "python normal" debería >> funcionar todo correctamente y no necesitar la u, pero esto depende de >> más factores y en gvSIG se está haciendo uso del intérprete de python >> para java que igual introduce algún problemilla, por lo que no agarra >> bien el encoding. Como resumen: >> >> 1) Poner siempre al principio: >> >> # -*- coding: utf-8 -*- >> >> 2) En caso de problemas poner delante de nuestra cadena con caracteres >> raros la "u" >> >> [1] https://www.python.org/dev/peps/pep-0263/ >> [2] https://www.python.org/dev/peps/pep-3120/ >> [3] https://pythonhosted.org/kitchen/unicode-frustrations.html >> [4] http://www.joelonsoftware.com/articles/Unicode.html >> [5] >> https://rainsoft.io/what-every-javascript-developer-should-know-about-unicode/ >> >> El día 1 de diciembre de 2016, 15:56, CARLOS COLOMBANA >> <carlos.colomb...@mtop.gub.uy> escribió: >> > Creo que el mail anterior rebotó por el tamaño del adjunto. >> > >> > Lo subí a github: >> > >> > >> > >> > https://github.com/nacho0605/GSoC/blob/master/GSoC_2016/01-TestCreatorAndPlayer/TestCreatorAndPlayer-1.0.0-38-testing-esp.gvspkg >> > >> > >> > ________________________________ >> > De: CARLOS COLOMBANA >> > Enviado: jueves, 01 de diciembre de 2016 11:31 >> > Para: Lista de Desarrolladores de gvSIG >> > Cc: SERGIO ACOSTAYLARA >> > Asunto: RE: [Gvsig_desarrolladores] Editor de Scripts - Palabras con >> > acentos >> > >> > >> > Hola Gilberto. >> > >> > Ya había probado ese truco pero no me funcionó, por las dudas lo volví a >> > probar ahora pero sigue sin funcionar y me sigue dando el mismo mensaje >> > de >> > error. >> > >> > Muchas gracias de todas maneras. >> > >> > >> > Trataré de contar muy resumidamente lo que estoy intentando hacer. >> > >> > Participé en el desarrollo de un addon [1] bajo la mentoría de Óscar >> > Martínez y Joaquín del Cerro. >> > >> > Se hizo todo en inglés, ahora lo estoy traduciendo al español (adjunto) >> > pero >> > estoy teniendo problemas con las palabras con acento. >> > >> > Luego de instalar el addon, dentro de la carpeta de addons de gvSIG, >> > dentro >> > de la carpeta Test, se encuentran los siguientes módulos (con los cuales >> > estoy teniendo problemas): >> > >> > >> > - student.py: líneas 93 y 103. >> > >> > - testcreator.py: línea 50. >> > >> > - testcreatorpanel.py: línea 40. >> > >> > - report.py: línea 48. >> > >> > >> > La disculpas del caso por lo extenso. >> > >> > Saludos. >> > >> > Carlos. >> > >> > >> > [1] >> > >> > https://github.com/nacho0605/GSoC/tree/master/GSoC_2016/01-TestCreatorAndPlayer >> > >> > ________________________________ >> > De: gvsig_desarrolladores-boun...@listserv.gva.es >> > <gvsig_desarrolladores-boun...@listserv.gva.es> en nombre de Gilberto >> > Cugler >> > <gilbertocug...@gmail.com> >> > Enviado: miércoles, 30 de noviembre de 2016 12:30 >> > Para: Lista de Desarrolladores de gvSIG >> > Asunto: Re: [Gvsig_desarrolladores] Editor de Scripts - Palabras con >> > acentos >> > >> > Tens de colocar a letra u como no exemplo >> > print u"Número de observação " >> > un abrazo desde Brasil >> > >> > 2016-11-30 13:24 GMT-02:00 CARLOS COLOMBANA >> > <carlos.colomb...@mtop.gub.uy>: >> >> >> >> Hola. >> >> >> >> >> >> Estoy tratando de emplear las funciones del módulo commonsdialog (entre >> >> otras) utilizando palabras con acentos, pero me da error. >> >> >> >> En general el mensaje es del estilo: >> >> >> >> >> >> SyntaxError: Illegal character ... >> >> >> >> ... for encoding 'utf-8' >> >> >> >> >> >> Revisé los "Config.xml" de gvSIG (org.gvsig.app.mainplugin) y de la >> >> extensión de scripting (org.gvsig.scripting.app.mainplugin), en ambos >> >> casos >> >> tiene por defecto la codificación de caracteres Latin-1: >> >> >> >> >> >> encoding="ISO-8859-1" >> >> >> >> >> >> Así que no debería de haber problema. Pero por otro lado, cada vez que >> >> se >> >> crea un nuevo script, en la primera línea aparece el siguiente >> >> comentario: >> >> >> >> >> >> # encoding: utf-8 >> >> >> >> >> >> ¿Alguien sabe que es lo que está sucediendo y cómo podría >> >> solucionarlo?. >> >> >> >> >> >> Saludos. >> >> >> >> Carlos. >> >> >> >> >> >> _______________________________________________ >> >> gvSIG_desarrolladores mailing list >> >> gvSIG_desarrolladores@listserv.gva.es >> >> Para ver histórico de mensajes, editar sus preferencias de usuario o >> >> darse >> >> de baja en esta lista, acuda a la siguiente dirección: >> >> https://listserv.gva.es/cgi-bin/mailman/listinfo/gvsig_desarrolladores >> >> >> > >> > >> > >> > -- >> > >> > >> > Gilberto Cugler .´. >> > >> > _______________________________________________ >> > gvSIG_desarrolladores mailing list >> > gvSIG_desarrolladores@listserv.gva.es >> > Para ver histórico de mensajes, editar sus preferencias de usuario o >> > darse >> > de baja en esta lista, acuda a la siguiente dirección: >> > https://listserv.gva.es/cgi-bin/mailman/listinfo/gvsig_desarrolladores >> > >> >> >> >> -- >> Francisco Puga >> iCarto | Innovación, Cooperación, Cartografía y Territorio S.L. >> http://www.icarto.es/ >> >> c/ Rafael Alberti nº 13 – 1º D >> 15008 A Coruña >> Galicia (Spain) >> +34 881927808 >> >> Este correo electrónico contiene información estrictamente >> confidencial y es de uso exclusivo del destinatario, quedando >> prohibida a cualquier otra persona su revelación, copia, distribución, >> o el ejercicio de cualquier acción relativa a su contenido. Si ha >> recibido este mensaje por error, por favor conteste a su remitente >> mediante correo electrónico y proceda a borrarlo de su sistema. >> >> Sus datos personales serán tratados de forma confidencial y no serán >> cedidos a terceros ajenos a ICARTO. En cualquier caso, podrá ejercer >> los derecho de oposición, acceso, rectificación y cancelación de >> acuerdo con lo establecido en la Ley Orgánica 15/99, de 13 de >> diciembre, de Protección de Datos de Carácter Personal dirigiéndose a >> Innovación, Cooperación, Cartografía e Territorio, SL. (ICARTO) en la >> dirección postal a C/ Rafael Alberti, nº 13, 1ºD, 15.008 – (A Coruña). >> _______________________________________________ >> gvSIG_desarrolladores mailing list >> gvSIG_desarrolladores@listserv.gva.es >> Para ver histórico de mensajes, editar sus preferencias de usuario o darse >> de baja en esta lista, acuda a la siguiente dirección: >> https://listserv.gva.es/cgi-bin/mailman/listinfo/gvsig_desarrolladores > > > > > -- > > > Gilberto Cugler .´. > > _______________________________________________ > gvSIG_desarrolladores mailing list > gvSIG_desarrolladores@listserv.gva.es > Para ver histórico de mensajes, editar sus preferencias de usuario o darse > de baja en esta lista, acuda a la siguiente dirección: > https://listserv.gva.es/cgi-bin/mailman/listinfo/gvsig_desarrolladores > -- SCOLAB http://scolab.es _______________________________________________ gvSIG_desarrolladores mailing list gvSIG_desarrolladores@listserv.gva.es Para ver histórico de mensajes, editar sus preferencias de usuario o darse de baja en esta lista, acuda a la siguiente dirección: https://listserv.gva.es/cgi-bin/mailman/listinfo/gvsig_desarrolladores _______________________________________________ gvSIG_desarrolladores mailing list gvSIG_desarrolladores@listserv.gva.es Para ver histórico de mensajes, editar sus preferencias de usuario o darse de baja en esta lista, acuda a la siguiente dirección: https://listserv.gva.es/cgi-bin/mailman/listinfo/gvsig_desarrolladores