Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Export mysql u excel-slova sa kvacicama

[es] :: PHP :: Export mysql u excel-slova sa kvacicama

[ Pregleda: 3030 | Odgovora: 7 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

damakii

Član broj: 136925
Poruke: 58
*.javnenabavke.gov.ba.



Profil

icon Export mysql u excel-slova sa kvacicama22.02.2012. u 08:33 - pre 148 meseci
Zdravo, imam problem kod exporta tabele iz mysql baze podataka u excel. Uradim export bez problema, ali mi ne mi umjesto slova čćđ ispisuje upitnike.
Kako da ovo riješim?

Code:

<?PHP
$DB_Server = "";        
$DB_Username = "";                 
$DB_Password = "";                
$DB_DBName = "";               
$DB_TBLName = "";               

$sql = "Select * from $DB_TBLName ORDER BY id ASC";
$Use_Title = 1;
$now_date = DATE('m-d-Y H:i');
$title = "Dump For Table $DB_TBLName from Database $DB_DBName on $now_date";

$Connect = @MYSQL_CONNECT($DB_Server, $DB_Username, $DB_Password)
     or DIE("Couldn't connect to MySQL:<br>" . MYSQL_ERROR() . "<br>" . MYSQL_ERRNO());
$Db = @MYSQL_SELECT_DB($DB_DBName, $Connect)
     or DIE("Couldn't select database:<br>" . MYSQL_ERROR(). "<br>" . MYSQL_ERRNO());
$result = @MYSQL_QUERY($sql,$Connect)
     or DIE("Couldn't execute query:<br>" . MYSQL_ERROR(). "<br>" . MYSQL_ERRNO());

IF (ISSET($w) && ($w==1))
{
     $file_type = "msword";
     $file_ending = "doc";
}ELSE {
     $file_type = "vnd.ms-excel";
     $file_ending = "xls";
}
HEADER("Content-Type: application/$file_type");
HEADER("Content-Disposition: attachment; filename=database_dump.$file_ending");
HEADER("Pragma: no-cache");
HEADER("Expires: 0");
IF (ISSET($w) && ($w==1)) //check for $w again
{
     IF ($Use_Title == 1)
     {
         ECHO("$title\n\n");
     }
     $sep = "\n"; //new line character
 
     WHILE($row = MYSQL_FETCH_ROW($result))
     {
         $schema_insert = "";
         FOR($j=0; $j<mysql_num_fields($result);$j++)
         {
         $field_name = MYSQL_FIELD_NAME($result,$j);
         $schema_insert .= "$field_name:\t";
             IF(!ISSET($row[$j])) {
                 $schema_insert .= "NULL".$sep;
                 }
             ELSEIF ($row[$j] != "") {
                 $schema_insert .= "$row[$j]".$sep;
                 }
             ELSE {
                 $schema_insert .= "".$sep;
                 }
         }
         $schema_insert = STR_REPLACE($sep."$", "", $schema_insert);
         $schema_insert .= "\t";
         PRINT(TRIM($schema_insert));
         PRINT "\n----------------------------------------------------\n";
     }
}ELSE{
     IF ($Use_Title == 1)
     {
         ECHO("$title\n");
     }
     $sep = "\t"; //tabbed character
     FOR ($i = 0; $i < MYSQL_NUM_FIELDS($result); $i++)
     {
         ECHO MYSQL_FIELD_NAME($result,$i) . "\t";
     }
     PRINT("\n");
     WHILE($row = MYSQL_FETCH_ROW($result))
     {
         $schema_insert = "";
         FOR($j=0; $j<mysql_num_fields($result);$j++)
         {
             IF(!ISSET($row[$j]))
                 $schema_insert .= "NULL".$sep;
             ELSEIF ($row[$j] != "")
                 $schema_insert .= "$row[$j]".$sep;
             ELSE
                 $schema_insert .= "".$sep;
         }
         $schema_insert = STR_REPLACE($sep."$", "", $schema_insert);
         $schema_insert = PREG_REPLACE("/\r\n|\n\r|\n|\r/", " ", $schema_insert);
         $schema_insert .= "\t";
         PRINT(TRIM($schema_insert));
         PRINT "\n";
     }
}
?>

damaki
 
Odgovor na temu

valjan
Janko Valencik
Software Deployer
Schneider Electric
Novi Sad

Član broj: 158605
Poruke: 3531
*.dynamic.sbb.rs.



+553 Profil

icon Re: Export mysql u excel-slova sa kvacicama22.02.2012. u 12:45 - pre 148 meseci
A kako ti je podešena podrška za jezik na tom računaru na kojem pregledaš te podatke u Excelu? Ako je u pitanju Windows 7, ideš na Control Panel > Region and Language > jezičak Adminsitrative > klikneš na Change System Locale u "Language for non-Unicode programs" i odabereš Serbian (Latin), i obavezno mora restart nakon toga. Ako si tako podesio, Excel bi morao da prikazuje naša slova.
 
Odgovor na temu

damakii

Član broj: 136925
Poruke: 58
*.javnenabavke.gov.ba.



Profil

icon Re: Export mysql u excel-slova sa kvacicama22.02.2012. u 14:15 - pre 148 meseci
Upravo je tako postavljeno u regionalnim postavkama, ali ne radi i ne radi.
damaki
 
Odgovor na temu

valjan
Janko Valencik
Software Deployer
Schneider Electric
Novi Sad

Član broj: 158605
Poruke: 3531
*.dynamic.sbb.rs.



+553 Profil

icon Re: Export mysql u excel-slova sa kvacicama22.02.2012. u 23:47 - pre 147 meseci
Koliko vidim, ovo u suštini i nije pravi Excel dokument nego tab separated lista elemenata koju Excel importuje prilikom otvaranja. Da li si siguran da je taj fajl stvarno enkodovan sa UTF-8? Pokušaj da ga fiksiraš u zaglavlju, npr.:

Code:
header( “Content-type: application/vnd.ms-excel; charset=UTF-8″ );


A s obzirom da Excel veoma dobro čita HTML dokumente koji su formatirani u obliku tabele, možeš pokušati da ga exportuješ upravo kao HTML fajl, znači nešto poput:

Code:
header("Content-Type:   text/html; charset=utf-8");


 
Odgovor na temu

Mister Big Time
The Consigliere
enterparadajz
Belgrade

Član broj: 15306
Poruke: 4747

Sajt: www.go2bed.net


+43 Profil

icon Re: Export mysql u excel-slova sa kvacicama23.02.2012. u 00:07 - pre 147 meseci
Proveri collation na bazi. Stavi utf8_slovenian_ci.

 
Odgovor na temu

damakii

Član broj: 136925
Poruke: 58
*.javnenabavke.gov.ba.



Profil

icon Re: Export mysql u excel-slova sa kvacicama23.02.2012. u 12:56 - pre 147 meseci
Ne pomaže dodavanje header-a, još uvijek sve isto. Collation je također dobar utf8_unicode_ci.
damaki
 
Odgovor na temu

kiklop74
Darko Miletić
Buenos Aires

Član broj: 78422
Poruke: 569
*.telecentro-reversos.com.ar.

Sajt: ar.linkedin.com/pub/darko..


+13 Profil

icon Re: Export mysql u excel-slova sa kvacicama23.02.2012. u 16:06 - pre 147 meseci
Ono sto tebi fali je da posle konekcije na bazu podesis charset na utf8:

Code:

mysql_set_charset('utf8', $Connect);


Tko leti vrijedi
 
Odgovor na temu

doktor83
Subotica

Član broj: 293583
Poruke: 50

Sajt: www.oxo.rs


+1 Profil

icon Re: Export mysql u excel-slova sa kvacicama24.02.2012. u 14:25 - pre 147 meseci
A ako ti nista od navedenog ne pomaze (kao sti ni ja nisam nasao resenje kada mi je trebalo),ti lepo odradi str_replace na svim slovima koja imaju kvacicu pre upisa u excel i problem resen :)
----------------------------------------------------------
www.oxo.rs
 
Odgovor na temu

[es] :: PHP :: Export mysql u excel-slova sa kvacicama

[ Pregleda: 3030 | Odgovora: 7 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.