Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- FileReader读取中文乱码
- log4j2写的日志到文件中,已经配置了UTF-8编码
- ```
- appender.dailyrollingfile.layout.charset=UTF-8
- ```
- log文件中确实是UTF-8编码
- 但在用FileReader读取到html页面的时候出现乱码
- ```java
- response.setContentType("text/html;charset=UTF-8");
- FileReader fr = new FileReader(logPath);
- BufferedReader br = new BufferedReader(fr);
- String line = br.readLine();
- if(line!=null){
- out.println(line);
- }
- ```
- 是因为FileReader在读取时采用系统默认的字符集GBK
- 两种解决方案:
- 一、
- ```java
- line=new String(line.getBytes(System.getProperty("file.encoding")),"UTF-8"); //将系统默认编码转为UTF-8
- ```
- 二、
- ```java
- FileInputStream fis = new FileInputStream(logPath);
- InputStreamReader fr = new InputStreamReader(fis,"UTF-8"); //改用UTF-8读取文件
- BufferedReader br = new BufferedReader(fr);
- ```
Add Comment
Please, Sign In to add comment