我有一个字符,例如:“ joh 1:1:ஆதியிலேஇருந்தது,அந்ததேவனிடத்திலிருந்தது,அந்ததேவனாயிருந்தது”。
www.unicode.org/charts/PDF/U0B80.pdf </p>
当我使用以下代码时:
bufferedWriter = new BufferedWriter (new OutputStreamWriter(System.out, "UTF8"));
输出是盒子和其他奇怪的字符,如下所示:
“�P�^����O֛����;�<�aYՠ؛”
任何人都可以帮忙吗?
这些是完整的代码:
File f=new File("E:\\bible.docx");
Reader decoded=new InputStreamReader(new FileInputStream(f), StandardCharsets.UTF_8);
bufferedWriter = new BufferedWriter (new OutputStreamWriter(System.out, StandardCharsets.UTF_8));
char[] buffer = new char[1024];
int n;
StringBuilder build=new StringBuilder();
while(true){
n=decoded.read(buffer);
if(n<0){break;}
build.append(buffer,0,n);
bufferedWriter.write(buffer);
}
StringBuilder 值显示 UTF 字符,但在窗口中显示时显示为框。
找到问题的答案!!!编码正确(即 UTF-8) Java 将文件读取为 UTF-8,字符串字符为 UTF-8,问题是在 netbeans 的输出面板中没有字体可以显示。更改输出面板的字体(Netbeans->tools->options->misc->output 选项卡)后,我得到了预期的结果。在 JTextArea 中显示时也是如此(需要更改字体)。但是我们不能更改 windows 的 cmd 提示符的字体。