1 文本文件
获取平台的编码机制
Charset platformEncoding = Charset.defalutCharset();
2 行结束符
Window 中,文本文件希望每行末尾使用“\r\n”,UNIX只需“\n”。
可使用 printf 和 %n 来产生平台相关的行结束符
out.printf("Hello%nWorld%n");
3 控制台
切换控制台字符集
java -Dfile.encoding=UTF-8 MyProg
shell
chcp 65001
4 日志文件
java.unit.logging 库的日志消息会使用 FileHandler 处理,配置文件
java.unit.logging.FileHandler.encoding=UTF-8
5 UTF-8字节顺序标志
可在文件第一个字符添加“文件字节顺序标志”U+FEFF,如果读入文本文件时,开头碰到了 U+FEFF,就忽略它。
6 源文件的字符编码
JDK 工具 native2ascii 可将非 ASCII 字符转为 ASCII 码