Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
881 views
in Technique[技术] by (71.8m points)

utf 8 - Display Hindi language in console using Java

StringBuffer contents=new StringBuffer();
BufferedReader input =  new BufferedReader(new FileReader("/home/xyz/abc.txt"));
String line = null; //not declared within while loop
while (( line = input.readLine()) != null){
    contents.append(line);
}
System.out.println(contents.toString());

File abc.txt contains

u0905u092du0940 u0938u092eu092f u0939u0948 u091cu0928u0924u093e u091cu094b u091au093eu0939u0924u0940 u0939u0948 u092

I want to dispaly in Hindi language in console using Java.

if i simply print like this String str="u0905u092du0940 u0938u092eu092f u0939u0948 u091cu0928u0924u093e u091cu094b u091au093eu0939u0924u0940 u0939u0948 u092";

System.out.println(str);

then it works fine but when i try to read from a file it doesn't work.

help me out.

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

Use Apache Commons Lang.

import org.apache.commons.lang3.StringEscapeUtils;

// open the file as ASCII, read it into a string, then
String escapedStr; // = "u0905u092du0940 u0938u092eu092f u0939u0948 ..."
// (to include such a string in a Java program you would have to double each )

String hindiStr = StringEscapeUtils.unescapeJava( escapedStr );

System.out.println(hindiStr);

(Make sure your console is set up to display Hindi (correct fonts, etc) and the console's encoding matches your Java encoding. The Java code above is just the bare bones.)


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...