2012-08-08 4 views
11

Recibo el siguiente mensaje de error cuando intento de comparar mi proyecto en Eclipse (Team-> Comparar):no puede convertir la serie de 'UTF-8' de codificación nativa

(no puede convertir la serie de 'UTF-8' de codificación nativa)

*** 
diff --old /Users/admin/Documents/workspace_branch_2.8/Test --new https://192.168.1.202/svn/main_repository/tenios/Voxtelo/bundle/trunk/Server/Test 
    Invalid argument 
svn: Kann Zeichenkette nicht von »UTF-8« in die eigene Codierung konvertieren: 
svn: 
Eigenschafts?\195?\164nderungen: /Users/admin/Documents/workspace_branch_2.8/Test/src/main/java/org/test/test/internal/commands/Command.java 

ZM-Schicht Anforderung gescheitert 
svn: Fehler beim Lesen der Antwort auf die REPORT Anfrage von Festplatte 
*** 

sin embargo, si funciono con el comando:

svn diff --old /Users/admin/Documents/workspace_branch_2.8/Test --new https://192.168.1.202/svn/main_repository/tenios/Voxtelo/bundle/trunk/Server/Test 

mediante línea de comandos en Mac OS, el diff está funcionando sin problemas. Según lo que he leído, los errores de este tipo suelen ocurrir cuando el cliente ha recibido una cadena en UTF-8 del repositorio, pero no todos los caracteres de esa cadena se pueden mostrar en la codificación de la configuración regional actual. La salida de la "locale" es:

LANG="de_DE.UTF-8" 
LC_COLLATE="de_DE.UTF-8" 
LC_CTYPE="de_DE.UTF-8" 
LC_MESSAGES="de_DE.UTF-8" 
LC_MONETARY="de_DE.UTF-8" 
LC_NUMERIC="de_DE.UTF-8" 
LC_TIME="de_DE.UTF-8" 
LC_ALL= 

Parece que el eclipse no utiliza esos ajustes, ¿hay una otra manera de configurar las opciones de localización en eclipse? No estoy seguro, pero tal vez el problema esté relacionado con javaHL, ¿hay algún archivo de rastreo en alguna parte?

+0

¿Qué dice al hacer Propiedades del proyecto -> Recurso -> Codificación de archivo de texto? – artbristol

+0

Se hereda del contenedor UTF-8 – markus

Respuesta

5

JavaHL es solo un contenedor para SVN. Como lo veo, JavaHL llama al comando svn (svn diff ...) y analiza el mensaje devuelto. El comando que intenta ejecutar devuelve la información de que en este diff alguna propiedad ha cambiado (en alemán Eigenschaftsänderung). Desafortunadamente, el terminal que manejó la llamada dañó la codificación. El resultado es una "solicitud de capa RA fallida" (ZM-Schicht Anforderung gescheitert) que simplemente significa que JavaHL no pudo analizar el mensaje devuelto.

cosas que puede probar:

  1. inicio Eclipse con LC_MESSAGES="en_US.UTF-8" /path/to/eclipse/eclipse y tal vez JavaHL llamará el ejecutable SVN con mensajes en inglés

  2. verificación del terminal desde el que se inicia Eclipse. ¿Admite Unicode? (rxvt no lo hace, donde lo hace urxvt)

    escriba ä en su terminal y verifique la salida. Debería ver el ä como un carácter legible. Como puede ver en mi salida, el carácter debe codificarse como \ 303 \ 244 y no \ 195 \ 164 (303 es la representación octal para 195 en decimal, y 244 (oct) == 164 (dec))

    $ ä 
    bash: $'\303\244': command not found 
    

Espero que esto ayude.

+0

al comenzar el eclipse con LC_MESSAGE = "de_DE.UTF-8"/ruta/a/eclipse/eclipse se corrigió el problema – markus

+0

de_DE? ¿es esto correcto? –

+0

sí LC_MESSAGES = "de_DE.UTF-8" – markus

Cuestiones relacionadas