2012-08-08 25 views
11

जब मैं (टीम> तुलना करें) ग्रहण में अपने प्रोजेक्ट तुलना करने की कोशिश मैं निम्न त्रुटि संदेश मिल रहा है करने के लिए:'UTF-8' से स्ट्रिंग कनवर्ट नहीं कर सकता देशी एन्कोडिंग

(स्ट्रिंग कनवर्ट नहीं कर सकता 'UTF-8' देशी एन्कोडिंग के लिए)

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

लेकिन अगर मैं आदेश चला से:

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 

मैक ओएस पर कमांड लाइन का उपयोग कर, diff समस्याओं के बिना काम कर रहा है। जो मैंने पढ़ा है, उससे इस तरह की त्रुटियां आम तौर पर होती हैं जब क्लाइंट को भंडार से यूटीएफ -8 में स्ट्रिंग प्राप्त होती है, लेकिन उस स्ट्रिंग के सभी वर्ण वर्तमान लोकेल के एन्कोडिंग में प्रदर्शित नहीं किए जा सकते हैं। "स्थान" के उत्पादन में है:

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= 

ऐसा लगता है कि ग्रहण के उन सेटिंग्स का उपयोग नहीं करता वहाँ ग्रहण में लोकेल सेटिंग कॉन्फ़िगर करने के लिए एक अन्य तरीका है? मुझे यकीन नहीं है, लेकिन शायद समस्या जावा एचएल से संबंधित है, क्या वहां कोई ट्रेस फ़ाइल है?

+0

जब आप प्रोजेक्ट गुण -> संसाधन -> टेक्स्ट फ़ाइल एन्कोडिंग करते हैं तो यह क्या कहता है? – artbristol

+0

यह कहता है कि कंटेनर यूटीएफ -8 – markus

उत्तर

5

जावाएचएल केवल एसवीएन के लिए एक रैपर है। जैसा कि मैंने देखा है कि जावाएचएल svn कमांड (svn diff ...) को कॉल करता है और लौटा संदेश पार्स करता है। जिस आदेश को आप निष्पादित करने का प्रयास करते हैं वह जानकारी देता है कि इस अंतर में कुछ संपत्ति बदल गई है (जर्मन Eigenschaftsänderung में)। दुर्भाग्य से कॉल करने वाले टर्मिनल ने एन्कोडिंग को गड़बड़ कर दिया। नतीजा यह है कि "आरए लेयर अनुरोध असफल रहा" (जेडएम-श्चट एन्फोर्डरंग गेशेचेर्ट) जिसका अर्थ है कि जावाएचएल लौटा संदेश पार्स करने में सक्षम नहीं था।

चीजें आप की कोशिश कर सकते हैं: LC_MESSAGES="en_US.UTF-8" /path/to/eclipse/eclipse साथ

  1. शुरू ग्रहण और शायद JavaHL अंग्रेज़ी संदेशों

  2. जांच टर्मिनल जिसमें से आप ग्रहण शुरू के साथ SVN निष्पादन कॉल करेंगे। क्या यह यूनिकोड का समर्थन करता है? (आरएक्सवीटी नहीं करता है, जहां urxvt करता है)

    अपने टर्मिनल में ä टाइप करें और आउटपुट जांचें। आपको ä को पठनीय चरित्र के रूप में देखना चाहिए। जैसा कि आप मेरे आउटपुट से देख सकते हैं, चरित्र को \ 303 \ 244 और \ 195 \ 164 के रूप में एन्कोड किया जाना चाहिए (303 दशमलव में 195 के लिए ऑक्टल प्रतिनिधित्व है, और 244 (ऑक्टो) == 164 (डीसी))

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

उम्मीद है कि इससे मदद मिलती है।

+0

से एलसी_एमईएसएसएजी = "de_DE.UTF-8"/पथ/से/ग्रहण/ग्रहण के साथ ग्रहण शुरू करने से विरासत में मिली – markus

+0

de_DE? क्या ये सही है? –

+0

हां LC_MESSAGES = "de_DE.UTF-8" – markus