This week's book giveaway is in the OCPJP forum.
We're giving away four copies of OCA/OCP Java SE 7 Programmer I & II Study Guide and have Kathy Sierra & Bert Bates on-line!
See this thread for details.
The moose likes Java in General and the fly likes does excel support utf-8 encoding? Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


Win a copy of OCA/OCP Java SE 7 Programmer I & II Study Guide this week in the OCPJP forum!
JavaRanch » Java Forums » Java » Java in General
Bookmark "does excel support utf-8 encoding?" Watch "does excel support utf-8 encoding?" New topic
Author

does excel support utf-8 encoding?

anil prakash
Greenhorn

Joined: Apr 24, 2006
Posts: 3
my application need to display the greek data from jsp to the excel sheet
but i am not able to display the greek charcaters in excel even after using utf-8 character encoding. i tried with iso-8859-7 also even then its taking by default windows-latin encoding.

my code goes like this:
<%
Vector x = (Vector)session.getAttribute("QRES");

if (x != null)
{

response.setContentType("application/vnd.ms-excel:charset=UTF-8");
response.setHeader("Content-Disposition","attachment;filename=QueryResult.csv");








int iNoOfCols = (new Integer((String)request.getParameter("noOfCols"))).intValue();
String displayNames = ((String)request.getParameter("displayNames"));

out.println(displayNames);
out.println("\r\n");

for(int a = 0; a < x.size(); a = a + iNoOfCols)
{
String eachRow = "";
for (int b = 0; b < iNoOfCols ; b++)
{
if((x.elementAt(a+b)) != null)
{


eachRow=(x.elementAt(a+b)).toString();
}
else
{
eachRow += " ";
}
// comma seperated values...
eachRow += ",";


}




out.println(eachRow);
out.flush();
}
out.close();

}

does excel support UTF-8 character encoding if not do we have anyother alternative for this? wud be thankful if anyone cud provide solution for this
Ulf Dittmer
Marshal

Joined: Mar 22, 2005
Posts: 42372
    
  64
Welcome to JavaRanch.

Your setContentType seems to have a colon where it should have a semicolon. But you're not actually creating an Excel file, you're creating a CSV file, and I don't think the browser passes on to Excel what it thinks the file is encoded in. Have you tried adding an UTF-8 signature to the file?


Ping & DNS - my free Android networking tools app
anil prakash
Greenhorn

Joined: Apr 24, 2006
Posts: 3
no doubt the browser is opening the file in excel(even the .CSV file wud get opened in excel only as far as my knowledge goes) but if the same file if i try to open with MSWord document its displaying THE GREEK CHARACTERS correctly with UTF-8 ENCODING but with the same UTF-8 encoding i am unable to display the greek characters correctly in excel sheet.
is there any alternative way to display the non-ascii characters correctly in excel?
Vlado Zajac
Ranch Hand

Joined: Aug 03, 2004
Posts: 245
Alternative to csv is html which can use meta tag to set encoding (the meta tag may not work in Excel and it has to have .xls extension to open in Excel) or real xls format created by Jakarta POI (which allows utf-8 or utf-16).
 
With a little knowledge, a cast iron skillet is non-stick and lasts a lifetime.
 
subject: does excel support utf-8 encoding?