Top
Phpuniverset logo
 
930 banner

INDHOLD

Forside

Script libary

Job annoncer

Tips og Tricks

Konkurrence

Downloads

Dokumenter

Forum

Online udviklere


ARTIKLER

CSS

Diverse

E-handel / annoncer

Grafik

Html

Internet

Javascript

Linux

PHP/MySQL

Programmer

Flash

Søgemaskiner

Windows

C / C++


INFO

Information

Annoncering

Kontakt

Forside Forum PHP, mysql Database til Excel skriver ikke ÆØÅ?

Database til Excel skriver ikke ÆØÅ?


 

Database til Excel skriver ikke ÆØÅ?

Kasper Bisgaard  

Hej alle 
Jeg har en database med noget information som jeg gerne vil have udskrevet til et excel
ark. Har fundet en kode på nettet som gør dette, men når jeg gør det bliver ÆØÅ
skrevet som "ø", "Ã¥" osv. 

Hvordan forhindrer jeg dette? 

Her er min kode: 

<?php 

// DB TABLE Exporter 
// 
// How to use: 
// 
// Place this file in a safe place, edit the info just below here 
// browse to the file, enjoy! 

// CHANGE THIS STUFF FOR WHAT YOU NEED TO DO 
$dato date("d-m-Y"); 

$dbhost "localhost"
$dbuser "skjult"
$dbpass "skjult"
$dbname "skjult"
$dbtable "medlemmer"

// END CHANGING STUFF 


// first thing that we are going to do is make some functions for writing out 
// and excel file. These functions do some hex writing and to be honest I got 
// them from some where else but hey it works so I am not going to question it 
// just reuse 


// This one makes the beginning of the xls file 
function xlsBOF() { 
echo 
pack("ssssss"0x8090x80x00x100x00x0); 
return; 


// This one makes the end of the xls file 
function xlsEOF() { 
echo 
pack("ss"0x0A0x00); 
return; 


// this will write text in the cell you specify 
function xlsWriteLabel($Row$Col$Value ) { 
$L strlen($Value); 
echo 
pack("ssssss"0x204$L$Row$Col0x0$L); 
echo 
$Value
return; 




// make the connection an DB query 
$dbc mysql_connect$dbhost $dbuser $dbpass ) or die( mysql_error() ); 
mysql_select_db$dbname ); 
$q "SELECT familie, medlemsnr, navn, adresse, fodselsar, tlf, email FROM medlemmer WHERE
status='1'"

$qr mysql_query$q ) or die( mysql_error() ); 


// Ok now we are going to send some headers so that this 
// thing that we are going make comes out of browser 
// as an xls file. 
// 
header("Pragma: public"); 
header("Expires: 0"); 
header("Cache-Control: must-revalidate, post-check=0, pre-check=0"); 
header("Content-Type: application/force-download"); 
header("Content-Type: application/octet-stream"); 
header("Content-Type: application/download"); 

//this line is important its makes the file name 
header("Content-Disposition: attachment;filename=medlemmer_$dato.xls "); 

header("Content-Transfer-Encoding: binary "); 

// start the file 
xlsBOF(); 

// these will be used for keeping things in order. 
$col 0
$row 0

// This tells us that we are on the first row 
$first true

while( 
$qrow mysql_fetch_assoc$qr ) ) 

// Ok we are on the first row 
// lets make some headers of sorts 
if( $first 

foreach( 
$qrow as $k => $v 

// take the key and make label 
// make it uppper case and replace _ with ' ' 
xlsWriteLabel$row$colstrtoupperereg_replace"_" " " $k ) ) ); 
$col++; 


// prepare for the first real data row 
$col 0
$row++; 
$first false


// go through the data 
foreach( $qrow as $k => $v 

// write it out 
xlsWriteLabel$row$col$v ); 
$col++; 

// reset col and goto next row 
$col 0
$row++; 


xlsEOF(); 
exit(); 
?>


Min umiddelbare første tanke var, at tilføje en header("Content-type: text/html;
charset=UTF-8"). Men det virker ikke. 

Håber der er nogen som gider hjælpe. 

Venlig hilsen 
Kasper Bisgaard



Dato : 05.05.2010, 14:12

Visninger : 2598

Points : 50




Login for at skrive et indlg :



   Brugernavn

Password
 

+ Opret en ny Bruger, Klik her

+ Glemt brugernavn/password

 

Send Artikel/anmeldelse til: phpuni@phpuniverset.dk

Tilbage til oversigt

Phpuniverset's politik om personlige oplysninger, artikler & Koder Phpuniverset er optimeret til Mozilla 1024 * 768 Phpuniverset version: 3.0 beta
Webhost : Ignesco.dk

Bund