我有一個簡單JSP下載包含日文字符的csv文件。下載的文件在中正確打開,記事本++並顯示正確的字符,但是當我嘗試打開Excel 2007中的相同文件時,它顯示了一些不同的字符,可能是其他編碼。日文字符在Excel 2007中無法正常打開的CSV文件
我的JSP看起來像這樣。
<%@ page language="java" contentType="text/csv; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ page import="java.io.*"%>
<%
response.setCharacterEncoding("UTF-8");
response.setContentType("text/csv; charset=UTF-8");
response.addHeader("Content-Disposition", "attachment; filename= " + "Test.csv");
OutputStream output = response.getOutputStream();
System.out.println("Chaaracter encoding : " + response.getCharacterEncoding());
Writer writer = new BufferedWriter(new OutputStreamWriter(output,"UTF-8"));
String japanese = "注目のキーワード";
InputStream in = new ByteArrayInputStream(japanese.getBytes("UTF-8"));
BufferedReader reader = new BufferedReader(new InputStreamReader(in,"UTF-8"));
String line = null;
while ((line = reader.readLine()) != null) {
writer.write(line);
writer.write(System.getProperty("line.separator"));
}
reader.close();
writer.flush();
writer.close();
%>
此字符串在Excel 2007中看起來是這樣的:注ç>®ã®ã,ーワード
可以在任何一個請幫我在這裏。當用戶點擊下載鏈接(上面的jsp)時,用戶應該能夠直接在Excel中打開文件。
任何幫助,將不勝感激。
感謝 Jitendra
[在java和csv文件中設置UTF-8]的副本(http://stackoverflow.com/questions/4192186/setting-a-utf-8-in-java-and-csv-file) – BalusC 2010-11-30 12:49:33