gvSIG bugs #4431

Gestión incorrecta de los encodings el scripting

Added by Cesar Martinez Izquierdo over 7 years ago.

Status:New% Done:

0%

Priority:NormalSpent time:-
Assignee:-
Category:Scripting
Target version:-
Severity:Minor Add-on version:
gvSIG version:2.3.0 Add-on build:
gvSIG build: Add-on resolve version:
Operative System: Add-on resolve build:
Keywords: Proyecto:
Has patch: Hito:
Add-on name:Unknown

Description

(Siguiendo el hilo de mensajes en la lista de desarrollo: https://listserv.gva.es/pipermail/gvsig_desarrolladores/2016-December/008038.html )

Aunque no he podido hacer pruebas para verificarlo, diría que el problema es que los scripts se están cargando usando la codificación del sistema, en vez de la declarada en la cabecera, con lo cual en ocasiones se interpretan los caracteres de forma equivocada.

No estoy seguro, pero el error podría estar en el método getContentsAsText de DefaultScriptingExternalFile1, donde se lee el script sin tener en cuenta el encoding.

Se está usando FileUtils.readFileToString(File externFile)
y se debería usar FileUtils.readFileToString(File file, String encoding)
para lo cual primero que todo se debería leer el encoding declarado en la primera línea (y asumir latin1 si no se declara nada, de acuerdo con [2]).

[1] http://devel.gvsig.org/svn/gvsig-scripting/org.gvsig.scripting/trunk/org.gvsig.scripting/org.gvsig.scripting.lib/org.gvsig.scripting.lib.impl/src/main/java/org/gvsig/scripting/impl/DefaultScriptingExternalFile.java
[2] https://docs.python.org/2/howto/unicode.html

Also available in: Atom PDF