christian1986 Skrevet 11. september 2009 Del Skrevet 11. september 2009 Koden som er gjengitt under prøver å skrive ut ved hjelp av charset ISO-8859-1, men den skal skrive ut ved hjelp av UTF8. Noen som kan fortelle meg hvordan jeg gjør det? <?php header("Content-type: application/octet-stream"); header("Content-Disposition: attachment; filename=lmk_medlemmer.xls"); header("Pragma: no-cache"); header("Expires: 0"); include("../wp-config.php"); $sql = mysql_query('SELECT * ' . ' FROM phpbb_profile_fields_data' . ' JOIN phpbb_users ON phpbb_users.user_id = phpbb_profile_fields_data.user_id' . ' WHERE pf_medlemsstatus="2"' . ' ORDER by pf_etternavn' . ' LIMIT 0 , 100'); if (is_user_logged_in()) { echo "<table border = '1', bordercolor = '000000'> <tr> <th>Etternavn </th> <th>Fornavn</th> </tr>"; while($row = mysql_fetch_array($sql)) { echo "<tr>"; echo "<td>" . $row['pf_etternavn'] . "</td>"; echo "<td>" . $row['pf_fornavn'] . "</td>"; echo "</tr>"; } echo "</table>"; mysql_close($con); print "$header\n$data"; } ?> Lenke til kommentar
Ernie Skrevet 11. september 2009 Del Skrevet 11. september 2009 Denne posten burde vel være til stor hjelp? Lenke til kommentar
Gjest Slettet-rXRozPkg Skrevet 18. september 2009 Del Skrevet 18. september 2009 Eller denne: https://www.diskusjon.no/index.php?showtopic=730921 Mitt forslag er: header("Content-Type: application/octet-stream; charset=UTF-8"); Min erfaring tilsier dog at Excel ikke liker UTF8, og at du kanskje må bruke ISO-8859-1 uansett. (Det var da voldsomt stor den kodeboksen ble da :o) Lenke til kommentar
christian1986 Skrevet 22. september 2009 Forfatter Del Skrevet 22. september 2009 Hele prosjektet er litt merkelig. Jeg har fått den til med å sette charset til lartin-1, men det funker ikke helt enda. Eneste stedet det fungerer helt er på OS X med Office 2008, alt annet gir feil... Lenke til kommentar
xibriz Skrevet 26. september 2009 Del Skrevet 26. september 2009 Du kan prøve med mysql_set_charset("UTF-8"); rett etter du har koblet til databasen. Hvis strengen du har er ISO-8859-1 kan du jo alltis iconv("ISO-8859-1", "UTF-8", $string); Lenke til kommentar
christian1986 Skrevet 13. oktober 2009 Forfatter Del Skrevet 13. oktober 2009 (endret) Ser ut som om du har rett, men jeg vet har ikke nok kunnskaper til å få det til. Fant dette på nett: "For transcoding values in an Excel generated CSV the following seems to work: <?php $value = iconv('Windows-1252', 'UTF-8//TRANSLIT', $value); ?> " Queryen min ser slik ut: $sql = mysql_query('SELECT * ' . ' FROM phpbb_profile_fields_data' . ' JOIN phpbb_users ON phpbb_users.user_id = phpbb_profile_fields_data.user_id' . ' WHERE pf_medlemsstatus="2"' . ' ORDER by pf_etternavn' . ' LIMIT 0 , 100'); Setter stoooor pris på hjelp! Edit: Fant ut at denne linjen faktisk gir æøå ut, men vet ikke hvordan jeg kan konvertere i mitt tilfelle. " echo iconv("ISO-8859-1", "latin1", "Thislatin1 is a tæ ø å æ Æ Å LØ est."); " Endret 13. oktober 2009 av christian1986 Lenke til kommentar
xibriz Skrevet 13. oktober 2009 Del Skrevet 13. oktober 2009 (endret) Da må du kjøre iconv på alle variablene du henter ut fra spørringen. Uvisst hvordan du lagrer variablene dine, sannsynligvis i ett array. $resultatArray = array(); while ($row = mysql_fetch_array($sql)) { $resulatatArray[] = array( "col1" => iconv("ISO-8859-1", "latin1", $row["col1"]), osv. ); } $resultatArray['col1']; burde nå gi riktig output. Endret 13. oktober 2009 av xibriz Lenke til kommentar
christian1986 Skrevet 14. oktober 2009 Forfatter Del Skrevet 14. oktober 2009 Hei igjen! Mulig det er tidlig på morningen, men jeg får det enda ikke til .. Slik ser min ut uten at jeg har gjort noe: echo "<td>" . $row['pf_etternavn'] . "</td>"; echo "<td>" . $row['pf_fornavn'] . "</td>"; echo "<td>" . $row['user_from'] . "</td>"; echo "<td>" . $row['pf_postnummer'] . "</td>"; Selve spørringen: $sql = mysql_query('SELECT * ' . ' FROM phpbb_profile_fields_data' . ' JOIN phpbb_users ON phpbb_users.user_id = phpbb_profile_fields_data.user_id' . ' WHERE pf_medlemsstatus="2"' . ' ORDER by pf_etternavn' . ' LIMIT 0 , 100'); Lenke til kommentar
xibriz Skrevet 14. oktober 2009 Del Skrevet 14. oktober 2009 da må det vel bli echo "<td>" . iconv("ISO-8859-1", "latin1", $row['pf_etternavn']) . "</td>"; Lenke til kommentar
Ernie Skrevet 14. oktober 2009 Del Skrevet 14. oktober 2009 Altså folkens, latin1 er det uformelle navnet på ISO-8859-1. Å konvertere fra ISO-8859-1 til latin1 vil derfor gjøre absolutt ingenting bortsett fra å kaste bort tiden. Hva Excel benytter aner jeg ikke, men sjansen er stor for at det er en eller flere av disse: CP850 CP1255 / Windows-1255 ISO-8859-1 / latin1 UTF-8 Lenke til kommentar
xibriz Skrevet 15. oktober 2009 Del Skrevet 15. oktober 2009 Det har du sikkert rett i, eneste grunnen til at jeg spillte videre på det var at han sa det funket Lenke til kommentar
christian1986 Skrevet 15. oktober 2009 Forfatter Del Skrevet 15. oktober 2009 Og det virket faktisk! Uansett, viste seg at det skulle være til UTF8 i mitt eksempel. Takker for hjelpen ! Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå