如何用土耳其语字符号读取java中的UTF 8编码文件

Jun*_*san 2 java utf-8

我试图读取一个UTF-8编码的txt文件,它有一些土耳其字符.基本上我已经编写了一个基于轴的Web服务,它读取此文件并将输出作为字符串发回.不知怎的,我无法正确阅读这些角色.代码非常简单,如下所述:

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.nio.charset.Charset;
import java.nio.charset.CharsetDecoder;
import java.nio.charset.CodingErrorAction;

public class TurkishWebService {

    public String generateTurkishString() throws IOException {
        InputStream isr = this.getClass().getResourceAsStream(
                "/" + "turkish.txt");

        BufferedReader in = new BufferedReader(new InputStreamReader(isr,
                "UTF8"));
        String str;

        while ((str = in.readLine()) != null) {
            System.out.println(str);
        }

        in.close();
        return str;
    }

    public String normalString() {
        System.out.println("webService normal text");
        return "webService normal text";
    }

    public static void main(String args[]) throws IOException {
        new TurkishWebService().generateTurkishString();
    }
}
Run Code Online (Sandbox Code Playgroud)

以下是turkish.txt的内容,只有一行

Assal?ç????öö??
Run Code Online (Sandbox Code Playgroud)

我正在把stdout作为

Assal??????÷÷??
Run Code Online (Sandbox Code Playgroud)

请在这里建议我做错了什么.

Arn*_*aud 5

确保用于显示输出的控制台也以UTF-8编码.例如,在Eclipse中,您需要转到Run Configuration> Common来执行此操作.

在此输入图像描述