में कीबोर्ड से पढ़ें मुझे उपयोगकर्ता से इनपुट पढ़ने की जरूरत है, और मैं गैर, लैटिन अक्षरों जैसे Å, Ä और Ö के लिए समर्थन प्राप्त करना चाहता हूं।यूटीएफ -8
BufferedReader keyboard = new BufferedReader(new InputStreamReader(System.in));
PrintWriter out = new PrintWriter(new OutputStreamWriter(System.out, "UTF-8"), true);
out.println(keyboard.readLine());
out.println("Read with charset: " + Charset.defaultCharset().name());
मुझे इस कोड, और इनपुट एक लैटिन पत्र के रूप में की उम्मीद काम करता है चलाने के (मैं कुछ, प्रेस दर्ज दर्ज करें और इसे बाहर प्रिंट मैं क्या दर्ज की गई)। लेकिन अगर मैं एक साथ कोशिश मैं इस मिल:
å
�
Read with charset: UTF-8
मैं दो बार दर्ज पाठ एक गैर-लैटिन पत्र के साथ समाप्त होता है, तो हिट करने के लिए है, और फिर इसे उन्हें सही प्रदर्शित नहीं करता है। मैंने नेटबीन्स कंसोल में और विंडोज कमांड प्रॉम्प्ट में यह कोशिश की है और न ही अपेक्षित परिणाम देता है।
मैं UTF-8 के साथ एक समाधान नहीं मिल सकता है, लेकिन इसके बजाय ISO-8859-1 के साथ चला गया। यह मेरे नेटबीन्स कंसोल (जो निश्चित रूप से यूटीएफ -8 होना चाहिए) के साथ काम किया और सीएमडी में जब मैंने पहली बार chcp 28591
चलाया, तो फ़ॉन्ट बदल गया (यह मेरे मामले में आवश्यक था) और मेरा प्रोग्राम चलाया।
http://stackoverflow.com/questions/4597749/read-write-txt-file-with-special-characters और http://stackoverflow.com/questions/9281629/read-special-characters-in-java -with-bufferedreader – crAlexander
यह मेरे लिए काम करता है। आपका कंसोल सेट अप होना चाहिए ताकि यूटीएफ -8 को सही तरीके से प्रदर्शित न किया जा सके। – RealSkeptic
@RealSkeptic, मैं गैर-लैटिन वर्णों को मुद्रित कर सकता हूं, कोई समस्या नहीं (Sys.out.print ("å"))। यह Netbeans कंसोल और सीएमडी दोनों में ठीक काम करता है। लेकिन जब मैं पात्रों को पढ़ने की कोशिश करता हूं तो समस्या होती है (साथ ही टेक्स्ट को å ä या ö के साथ समाप्त होने पर दो बार दर्ज करना पड़ता है)। –