वहाँ स्ट्रिंग (बाइट []) निर्माता द्वारा प्रयुक्त एन्कोडिंग बदलने के लिए एक रास्ता है के लिए डिफ़ॉल्ट एन्कोडिंग बदल रहे हैं?स्ट्रिंग (बाइट [])
मेरे अपने कोड में मैं स्ट्रिंग (बाइट [], स्ट्रिंग) का उपयोग एनकोडिंग निर्दिष्ट करने की है, लेकिन मैं एक बाहरी पुस्तकालय है कि मैं बदल नहीं सकते उपयोग कर रहा हूँ।
String src = "with accents: é à";
byte[] bytes = src.getBytes("UTF-8");
System.out.println("UTF-8 decoded: "+new String(bytes,"UTF-8"));
System.out.println("Default decoded: "+new String(bytes));
इस के लिए उत्पादन होता है:
UTF-8 decoded: with accents: é à Default decoded: with accents: é Ã
मैं प्रणाली संपत्ति file.encoding
बदलते की कोशिश की है, लेकिन यह काम नहीं करता।
क्या किसी ने -Dfile.encoding दृष्टिकोण की कोशिश की है? मंच-अज्ञेय तरीके से ऐसा करने में सक्षम होना बहुत अच्छा होगा। –
@MattPassell हम निम्नलिखित आर्ग जब JVM शुरू करने का उपयोग सुनिश्चित करने के लिए है कि हम UTF-8 निर्दिष्ट कर रहे हैं ठीक से हर जगह: -Dfile.encoding = ISO646-अमेरिका -Dsun.jnu.encoding = ISO646-अमेरिका और यह ठीक काम करने के लिए प्रकट होता है। –
प्रतिक्रिया के लिए धन्यवाद। क्या मैं कुछ भूल रहा हूँ? मैं सिर्फ आईएसओ 646-यूएस के लिए गुगल हूं और पाया कि यह ASCII के लिए आधिकारिक नाम है। यह कैसे सुनिश्चित करता है कि आप यूटीएफ -8 का उपयोग कर रहे हैं? –