我正在使用以下代码显示文本文件中的文本。但我有问题正确显示德语变形金刚ä,ü,ö。如何更改或设置编码? 安德罗伊斯说:
public InputStreamReader(InputStream in)自:API Level 1
在InputStream中构造一个新的InputStreamReader。这个 构造函数将字符转换器设置为指定的编码 “file.encoding”属性并回退到ISO 8859_1 (ISO-Latin-1)如果该属性不存在。
public void onCreate(Bundle savedInstanceState) {
setContentView(R.layout.help);
TextView tv = (TextView)findViewById(R.id.help_text);
//tv.setText(readRawTextFile(R.raw.help));
tv.setText(Html.fromHtml(readRawTextFile(R.raw.help)));
}
public static String readRawTextFile(int id) {
InputStream inputStream = mContext.getResources().openRawResource(id);
InputStreamReader in = new InputStreamReader(inputStream);
BufferedReader buf = new BufferedReader(in);
String line;
StringBuilder text = new StringBuilder();
try {
while (( line = buf.readLine()) != null)
text.append(line);
//text.append("<br>" );
} catch (IOException e) {
return null;
}
return text.toString();
}
提前致谢!
答案 0 :(得分:4)
您可以尝试在创建InputStreamReader期间指定文本文件中使用的字符集:
InputStreamReader in = new InputStreamReader(inputStream, charset);
您可以在Charset
中找到可用的字符集 祝你好运。