gbk和gb2312编码中的一些特殊符号的有趣现象
在EmEditor编辑器中以gb2312的方式在文件test.html中存放字符·
1.在IE中以gb2312方式能正确显示
2.在FireFox中以gb2312和gbk均能正确显示
3.在eclipse中以gbk能正确显示,以gb2312显示为另外一个字符・
4.以java程序从文件中读出来的话,gbk方式能正确输出,但gb2312输出乱码?
代码如下所示:
[code] public static String readContentFromFile(File file, String encode) {
String result = "";
try {
FileInputStream fi = new FileInputStream(file);
InputStreamReader is = new InputStreamReader(fi, encode);
char[] tmp = new char[(int) file.length()];
if (-1 != is.read(tmp)) {
result += new String(tmp);
}
is.close();
fi.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return result;
}[/code]
在EmEditor编辑器中以gb2312的方式在文件test.html中存放字符·
1.在IE中以gb2312方式能正确显示
2.在FireFox中以gb2312和gbk均能正确显示
3.在eclipse中以gbk能正确显示,以gb2312显示为另外一个字符・
4.以java程序从文件中读出来的话,gbk方式能正确输出,但gb2312输出乱码?
代码如下所示:
[code] public static String readContentFromFile(File file, String encode) {
String result = "";
try {
FileInputStream fi = new FileInputStream(file);
InputStreamReader is = new InputStreamReader(fi, encode);
char[] tmp = new char[(int) file.length()];
if (-1 != is.read(tmp)) {
result += new String(tmp);
}
is.close();
fi.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return result;
}[/code]