2012-08-08 14 views
11

otrzymuję następujący komunikat o błędzie podczas próby porównać mój projekt w Eclipse (Team-> Porównać):nie można przekonwertować ciąg z „UTF-8” do natywnego kodowania

(nie można przekonwertować ciąg z 'UTF-8' do natywnego kodowania)

*** 
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 
*** 

jednak jeśli uruchomić polecenie:

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 

za pomocą wiersza poleceń w systemie OS mac, diff działa bez problemów. Z tego, co przeczytałem, takie błędy zwykle występują, gdy klient otrzymał ciąg znaków w UTF-8 z repozytorium, ale nie wszystkie znaki tego ciągu mogą być wyświetlane w kodowaniu bieżących ustawień narodowych. Wyjście „locale” jest:

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= 

Wydaje się, że zaćmienie nie korzysta z tych ustawień, czy istnieje inny sposób konfigurowania ustawień regionalnych w Eclipse? Nie jestem pewien, ale może problem jest związany z javaHL, czy jest gdzieś plik śledzenia?

+0

Co to jest, gdy robisz Właściwości projektu -> Zasób -> Kodowanie pliku tekstowego? – artbristol

+0

Mówi, że dziedziczone z kontenera UTF-8 – markus

Odpowiedz

5

JavaHL jest tylko opakowaniem dla SVN. Jak widzę, JavaHL wywołuje polecenie svn (svn diff ...) i analizuje zwróconą wiadomość. Polecenie, które próbujesz wykonać, zwraca informację, że w tej zmiennej zmieniła się jakaś właściwość (w języku niemieckim Eigenschaftsänderung). Niestety terminal, który obsługiwał połączenie, zawiedli kodowanie. Wynikiem jest "żądanie warstwy RA nie powiodło się" (ZM-Schicht Anforderung gescheitert), co oznacza po prostu, że JavaHL nie mógł przeanalizować zwróconej wiadomości.

Co można spróbować:

  1. początek Eclipse z LC_MESSAGES="en_US.UTF-8" /path/to/eclipse/eclipse a może JavaHL wywoła wykonywalny svn z angielskim wiadomościach

  2. sprawdzić terminalu, z którego zaczynają Eclipse. Czy obsługuje on kodowanie Unicode? (rxvt nie, gdzie urxvt ma)

    wpisz w twoim terminalu i sprawdź wyjście. Powinieneś zobaczyć ä jako czytelną postać. Jak widać z mojego wyjścia, znak powinien być zakodowany jako \ 303 \ 244, a nie \ 195 \ 164 (303 jest ósemkową reprezentacją 195 w układzie dziesiętnym, a 244 (wkt) == 164 (dek))

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

Mam nadzieję, że to pomoże.

+0

począwszy eclipse z LC_MESSAGE = "de_DE.UTF-8"/path/to/eclipse/eclipse naprawiono problem – markus

+0

de_DE? czy to jest poprawne? –

+0

yes LC_MESSAGES = "de_DE.UTF-8" – markus

Powiązane problemy