Hej, Det handlar om hur .Net kör med teckentabeller. UTF-8 Är Standard, ditt excell är säkert svensk och om jag inte minns fel kör den under Western ISO typ... Hej, Stefan... Hej Stefan, Johan... Sefan... Hej Johan, Magnus, jag brukar alltid ange "ISO-8859-1" istället för Windows mekket .Patrik.... Magnus,ÅÄÖ skrivs inte ut vid export till Excel
Jag har en datagrid som jag exporterar till Excel genom:
<code>
Page.Response.ContentType = "application/x-msdownload"
Page.Response.AddHeader("Content-Disposition", "attachment; filename=odysseus_export.xls")
</code>
Problemet är att då skrivs inte å, ä och ö ut korrekt. Det blir några konstiga tecken.
Tar jag bort dessa rader och skriver ut datagriden på en websida skrivs det ut perfekt.
Vad kan detta vara?
/JockeSv: ÅÄÖ skrivs inte ut vid export till Excel
Eftersom flera stycken haft problem med å Ä Ö och vi har svarat på olika lösningar ber jag dig söka här i Forumet efter andra Å Ä Ö frågor, de kommer nog leda dig till ett svar.
mvh JohanSv: ÅÄÖ skrivs inte ut vid export till Excel
prova och lägg till följande attribut i @Page direktivet:
responseEncoding="Windows-1252"
så ska det förhoppningsvis gå bättre
MVH
/StefanSv: ÅÄÖ skrivs inte ut vid export till Excel
responseEncoding="Windows-1252" <--- den var intressant, kan du säga nått mer om den?
Syftar då på just "windows-1252"
mvh JohanSv: ÅÄÖ skrivs inte ut vid export till Excel
detta funkade lysande. Jag och Jocke kodar ihop om du undrar varför jag svarar. Vet du ngt sätt att få in detta i VB-koden istället? Dvs på samma sätt som det i VB-koden står:
Page.Response.ContentType = "application/x-msdownload"
Jag hittar ingen passande egenskap på varken Page- eller response-objektet.
Mvh
MagnusSv: ÅÄÖ skrivs inte ut vid export till Excel
om jag inte minns fel nu så är "windows-1252" detsamma som ISO-Western European, bara ett annat sätt att skriva det på.
MVH
/StefanSv: ÅÄÖ skrivs inte ut vid export till Excel
Jaha ok... Är det lika kompatibelt med andra platformar? Kör alltid ISO koderna när jag måste göra sådana saker för att jag de är standard för andra system.
Hoppas dock du förstod varför det blev fel med åäö, för du kommer nog åka på en del andra problem i framtiden mellan olika platformar. Finns ju en hel del sätt att lösa det, i Web.Config kan du exempelvis tala om för hela din Applikation att den skall köra under en viss contenttype.
Mvh JohanSv: ÅÄÖ skrivs inte ut vid export till Excel
det stämmer bra, i web.config la jag in responseEncoding="Windows-1252" och tog bort det från @Page i den aktuella sida och det funkade bra. Vet du om detta kan vara till ngn nackdel? Det finns ju även ett requestEncoding med standardvärde "UTF-8", vad händer om man ändrar även detta till "Windows-1252"?
Mvh
MagnusSv: ÅÄÖ skrivs inte ut vid export till Excel
Det som händer är att requesten (datan du tar emot) kör på den contexten. Skall inte ställa till några större problem, inte mer än vad responsen gör.
Det är mer om andra app pratar med eran app o deras inställning är UTF-8 som det kan spöka med ÅÄÖ igen.
Mvh JohanSv: ÅÄÖ skrivs inte ut vid export till Excel
Sv: ÅÄÖ skrivs inte ut vid export till Excel
Jag också, detta för att jag fått för mig det är enstandard för alla olika platformar?
Mvh JohanSv: ÅÄÖ skrivs inte ut vid export till Excel
angående frågan du hade innan om att skriva det i VB-koden, så kunde du gjort så här....
Response.ContentEncoding = Encoding.GetEncoding("ISO-8859-1")
Jepp det är alltid bäst att följa ISO... =)
MVH
/Stefan