तो मैं अपने प्रोग्राम को नामों की सूची के साथ एक टेक्स्ट फ़ाइल आउटपुट करने की कोशिश कर रहा हूं। कुछ नामों में अस्ट्रोम जैसे अजीब पात्र हैं।मैं यूनिकोड में अजीब पात्रों को ग्रहण कैसे कर सकता हूं?
मैं किसी वेबपेज कि "UTF-8" में एन्कोड किया गया है से नाम के इन सूची पकड़ा है, या कम से कम मैं बहुत यकीन है कि क्योंकि पेज स्रोत का कहना है
"मेटा http-समतुल्य यह करता हूँ = "सामग्री-प्रकार" सामग्री = "पाठ/एचटीएमएल; charset = UTF-8 "/"
यह वही है मैं अब तक की कोशिश की है है:
public static void write(List<String> list) throws IOException {
Writer out = new OutputStreamWriter(new FileOutputStream("test.txt"), "UTF-8");
try {
for (int i=0;i<list.size();i++) {
try {
byte[] utf8Bytes = list.get(i).getBytes("UTF-8");
out.write(new String(utf8Bytes, "UTF-8"));
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
out.write(System.getProperty("line.separator"));
}
}
finally {
out.close();
}
}
और मैं एक छोटे से कारण है कि यह काम नहीं कर रहा है के रूप में उलझन में हूँ। मुझे प्राप्त आउटपुट "à ... ström" है, जो बहुत अजीब है।
क्या कोई मुझे सही दिशा में इंगित कर सकता है? धन्यवाद!
और एक और असंबंधित नोट पर, वहाँ भद्दा
out.write के अलावा किसी पाठ फ़ाइल में एक नई लाइन लिखने के लिए (System.getProperty ("line.separator")) एक आसान तरीका है,
मेरे पास है? मैंने देखा कि ऑनलाइन कहीं और यह काम करता है, लेकिन मैं बस सोच रहा था कि एक क्लीनर तरीका था या नहीं।
जब आप इसे चेक करते हैं तो फ़ाइल खोलने के लिए आप क्या उपयोग करते हैं? यह संभव है कि प्रोग्राम एन्कोडिंग गलत का पता लगा रहा हो। –
इसके अलावा, वेबपृष्ठ के एन्कोडिंग की जांच करने के लिए, पता लगाए गए एन्कोडिंग को देखने का प्रयास करें। ब्राउज़र के आधार पर यह क्रोम में 'व्यू' मेनू या 'रिंच मेनू -> एन्कोडिंग' के तहत हो सकता है। –
मैं नोटपैड में फ़ाइल खोल रहा हूं। जब मैं नोटपैड में शब्द को कॉपी और पेस्ट करता हूं तो अक्षर सही तरीके से दिखाई देते हैं, लेकिन जब मैं प्रोग्राम चलाता हूं तो मजाकिया सामान आता है। – wynnch