HGIGA Service Docs 
» 遊客:  註冊 | 登錄 | 統計 | 幫助
RSS 訂閱當前論壇  

上一主題 下一主題
       
標題: Excel不默認支持UTF8的CSV文件怎麼辦?  
 
service.support





UID 14
精華 0
積分 0
帖子 523
閱讀權限 200
註冊 2006-10-2
狀態 離線
Excel不默認支持UTF8的CSV文件怎麼辦?

另外…Excel不默認支持UTF8的CSV文件

因此excel打開utf-8中文的csv百分百會發生這種問題。

有兩種解決辦法:
1. 可以先用notepad打開csv,另存為ANSI編碼,再用Excel打開
2. 先打開空的Excel,然後在資料->取得外部資料->從文字檔→選擇csv文件,在導入資料對話框中選好UTF-8的編碼(你會發現默認是ANSI),就可以了。



以下是我的jsp程式碼,網頁為utf-8編碼,文件以big-5編碼 已用真實數據用excel2007開過,非亂碼

=======================================================================================

<%@page language="java" import="java.io.*,java.util.*" pageEncoding="UTF-8" contentType="text/html; charset=big5"%>
<%
    Calendar calendar=new GregorianCalendar();
    String date = (calendar.get(Calendar.YEAR))+""+(calendar.get(Calendar.MONTH)+1)+""+calendar.get(Calendar.DATE); //取日期
    String fname="Data"+date+".csv";//以日期為檔名存檔
    response.setContentType("application/vnd.ms-excel;charset=big5");//指定回應的文件型態為"excel";編碼為big-5
    response.addHeader("Content-disposition","attachment; filename="+ fname);
    response.setStatus(response.SC_OK);//設定回應的狀態為ok
    response.flushBuffer();
    String CVStxt=request.getParameter("txt");
    if ("".equals(CVStxt) || null==CVStxt)//如果上頁接收的值為空值
        CVStxt="";
    else{
        CVStxt=new String (CVStxt.getBytes("ISO8859_1"),"UTF-8");
        CVStxt=CVStxt.replaceAll(";","\r\n");}
    out.clearBuffer();
    out.println(CVStxt);
%>
2011-4-15 10:29#1
查看資料  Blog  發短消息  Yahoo!  頂部
       


  可打印版本 | 推薦給朋友 | 訂閱主題 | 收藏主題  


 

   Powered by Discuz! 4.1.0  © 2001-2006 Transformed by wxxslt for HGIGA Inc. / Service Support
Processed in 0.013905 second(s), 9 queries , Gzip enabled

所有時間為 GMT+8, 現在時間是 2024-5-19 00:06