Export se excel apo sql me php- problem utf8

Σε αυτή την περιοχή μπορείτε να βρείτε ή να αναζητήσετε πληροφορίες σχετικές με την PHP

Συντονιστές: WebDev Moderators, Super-Moderators

Απάντηση
killingbegin
Δημοσιεύσεις: 9
Εγγραφή: 01 Φεβ 2009 18:14

Export se excel apo sql me php- problem utf8

Δημοσίευση από killingbegin » 04 Αύγ 2009 22:42

Γειά σας πεδιά.
Αυτό είναι ένα κομάτι απο το project που φτιαχνω για τη πτυχιακή μου.
Οταν θελήσει ο Admin κάνει export τα στοιχεία ενώς πίνακα για να τα δεί.

Το παρακάτω script δουλεύει κανονικά.Αλλα το αρχείο excel που δημιουργει δε μπορεί
ναι διαβάσει ελληνικά αντιθέτως τα μετατρέπει σε σύμβολα.

Αν κάποιος μπορεί να δώσει μια λύση.Ευχαριστώ πολυ.

Κώδικας: Επιλογή όλων

 
$database="lottary";
$table="users";
 
if($database!="" && $table!=""){
 
$Host = "localhost";
$User = "root";
$Password = "";
$DBName = $database;
$TableName = $table;
 
 
$link = @mysql_connect($Host, $User, $Password) or die('Could not connect: ' . mysql_error());
 
mysql_query("SET NAMES 'utf8'");
mysql_query("SET CHARACTER SET 'utf8'");
 
@mysql_select_db($DBName) or die('Could not select database');
mysql_query("SET NAMES 'utf8'");
$select = "SELECT * FROM `".$TableName."`";
$export = mysql_query($select);
mysql_query("SET NAMES 'utf8'");
 
$fields = mysql_num_fields($export);
mysql_query("SET NAMES 'utf8'");
for &#40;$i = 0; $i < $fields; $i++&#41; &#123;
    $csv_output .= mysql_field_name&#40;$export, $i&#41; . "\t";
   
&#125;
$csv_output=mb_convert_encoding&#40;$csv_output, "ISO-8859-7","UTF-8"&#41;;
 
while&#40;$row = mysql_fetch_row&#40;$export&#41;&#41; &#123;
    $line = '';
    foreach&#40;$row as $value&#41; &#123;
        if &#40;&#40;!isset&#40;$value&#41;&#41; OR &#40;$value == ""&#41;&#41; &#123;
            $value = "\t";
        &#125; else &#123;
            $value = str_replace&#40;'"', '""', $value&#41;;
            $value = '"' . $value . '"' . "\t";
        &#125;
        $line .= $value;
    &#125;
    $data .= trim&#40;$line&#41;."\n";
&#125;
$data = str_replace&#40;"\r","",$data&#41;;
 
 
//print mb_detect_encoding&#40;$data&#41;;
$data = mb_convert_encoding&#40;$data,"ISO-8859-7","UTF-8"&#41;;
 
$db=str_replace&#40;" ","_",$database&#41;;
$filename=$db."_".$table;
 
header&#40;"Content-Type&#58; application/octet-stream"&#41;;
header&#40;"Content-Disposition&#58; attachment; filename=".$filename.".xls"&#41;;
header&#40;"Pragma&#58; no-cache"&#41;;
header&#40;"Expires&#58; 0"&#41;;
print $csv_output."\n".$data;
exit;
 

Άβαταρ μέλους
ThyClub
Honorary Member
Δημοσιεύσεις: 5312
Εγγραφή: 17 Νοέμ 2003 00:21
Τοποθεσία: Hell's Kitchen
Επικοινωνία:

Export se excel apo sql me php- problem utf8

Δημοσίευση από ThyClub » 04 Αύγ 2009 22:50

Μια χαρά μου το άνοιξε εμένα που το δοκίμασα. Τα δεδομένα στην βάση σου είναι utf8_unicode_ci?

killingbegin
Δημοσιεύσεις: 9
Εγγραφή: 01 Φεβ 2009 18:14

Export se excel apo sql me php- problem utf8

Δημοσίευση από killingbegin » 04 Αύγ 2009 23:44

Η βαση και ολα τα πεδια είναι utf8_unicode_ci.
τι ενοείς οτι λειτουργεί καλα?Εμφάνισε ελληνικούς χαρακτήρες απο τα πεδία τησ βάσης?

Άβαταρ μέλους
ThyClub
Honorary Member
Δημοσιεύσεις: 5312
Εγγραφή: 17 Νοέμ 2003 00:21
Τοποθεσία: Hell's Kitchen
Επικοινωνία:

Export se excel apo sql me php- problem utf8

Δημοσίευση από ThyClub » 04 Αύγ 2009 23:53

Ναι ναι!!
Βέβαια το xls αρχείο το άνοιξα με open office και μάλλον γι αυτό άνοιξε σωστά τελικά. Δεν έχω ms office για να το δοκιμάσω...

Δοκίμασε να δείς αν παίζει κάτι τέτοιο

killingbegin
Δημοσιεύσεις: 9
Εγγραφή: 01 Φεβ 2009 18:14

Export se excel apo sql me php- problem utf8

Δημοσίευση από killingbegin » 05 Αύγ 2009 00:41

Δυστηχώς οχι .Γινετε το ιδιο πραγμα και στο open office .

Δε ξερω γιατι γίνετε αλλα πρέπει να βρώ μια λυση γρήγορα.

Άβαταρ μέλους
ThyClub
Honorary Member
Δημοσιεύσεις: 5312
Εγγραφή: 17 Νοέμ 2003 00:21
Τοποθεσία: Hell's Kitchen
Επικοινωνία:

Export se excel apo sql me php- problem utf8

Δημοσίευση από ThyClub » 05 Αύγ 2009 00:43

IE ή Firefox?

Επίσης η βάση δεδομένων σου είναι σίγουρα utf?

PHP version?

killingbegin
Δημοσιεύσεις: 9
Εγγραφή: 01 Φεβ 2009 18:14

Export se excel apo sql me php- problem utf8

Δημοσίευση από killingbegin » 05 Αύγ 2009 00:49

δε νομίζω να έχει σημασία ο browzer.

Ξαναεφτιαξα μια βάση "test" - utf8_unicode_ci
με ενα table "users" - utf8_unicode_ci
με δύο πεδία name lastname και τα 2 -utf8_unicode_ci

αλλα ακόμα μου εμφανίζει στο xls αρχείο σύμβολα αντι για ελληνικά ενώ η βάση τα διαβάζει κανονικά.

PHP Version 5.2.9

Άβαταρ μέλους
fafos
Script Master
Δημοσιεύσεις: 6237
Εγγραφή: 30 Νοέμ 2004 03:09

Export se excel apo sql me php- problem utf8

Δημοσίευση από fafos » 05 Αύγ 2009 00:50

allakse ta dedomena pou thes na emfanizeis me thn iconv():

Κώδικας: Επιλογή όλων

$dedomena = iconv&#40;'utf-8','greek',$dedomena&#41;;
Οι πάνες και οι πολιτικοί πρέπει να αλλάζονται συχνά για τον ίδιο λόγο...

killingbegin
Δημοσιεύσεις: 9
Εγγραφή: 01 Φεβ 2009 18:14

Export se excel apo sql me php- problem utf8

Δημοσίευση από killingbegin » 05 Αύγ 2009 00:58

Άμα καάνω export apo to phpmyadmin sthn sql

σε αρχεια

scv - δε δουλεύει
scv for MsExcel - δε δουλεύει

microsoft excel 2000 - δουλεύει
microsoft word 2000 - δουλεύει
kai se open ofice spreadsheet - δουλεύει


άρα μάλλον καποιο πρόβλημα υπαρχει όταν ο κώδικας php γράφει τα αρχεία στο αρχειο που δημιουργώ.

killingbegin
Δημοσιεύσεις: 9
Εγγραφή: 01 Φεβ 2009 18:14

Export se excel apo sql me php- problem utf8

Δημοσίευση από killingbegin » 05 Αύγ 2009 01:02

fafos έγραψε:allakse ta dedomena pou thes na emfanizeis me thn iconv():

Κώδικας: Επιλογή όλων

$dedomena = iconv&#40;'utf-8','greek',$dedomena&#41;;
alaksa th grammh

Κώδικας: Επιλογή όλων

$data = mb_convert_encoding&#40;$data,"ISO-8859-7","UTF-8"&#41;;
me

Κώδικας: Επιλογή όλων

$data = iconv&#40;'utf-8','greek',$data&#41;;
alla pali de ginete tpt[/code]

Άβαταρ μέλους
ThyClub
Honorary Member
Δημοσιεύσεις: 5312
Εγγραφή: 17 Νοέμ 2003 00:21
Τοποθεσία: Hell's Kitchen
Επικοινωνία:

Export se excel apo sql me php- problem utf8

Δημοσίευση από ThyClub » 05 Αύγ 2009 01:03

Δημιουργείς αρχείο κάθε φορά που το κάνεις export?

Εννοώ μπορείς μετά να πάς πχ σε κάποιο φάκελο και να το βρείς ;

Αν ναι, το αρχείο είναι UTF8?

Άβαταρ μέλους
ThyClub
Honorary Member
Δημοσιεύσεις: 5312
Εγγραφή: 17 Νοέμ 2003 00:21
Τοποθεσία: Hell's Kitchen
Επικοινωνία:

Export se excel apo sql me php- problem utf8

Δημοσίευση από ThyClub » 05 Αύγ 2009 01:04

Βασικά δεν νομίζω να υπάρχει πρόβλημα με τον κώδικα που έχεις. Σε εμένα δούλεψε μια χαρά.

killingbegin
Δημοσιεύσεις: 9
Εγγραφή: 01 Φεβ 2009 18:14

Export se excel apo sql me php- problem utf8

Δημοσίευση από killingbegin » 05 Αύγ 2009 01:07

exo ena koumpi export otan to patao mou leei na kano save as to arxeio pou dhmiourgo
to vazo desktop ktl ktl

Nai logika utf-8 ine afou me utf8 to kano format



De xero giati alla ama kano export apo to phpmyadmin se excel mou to kanei mia xara.

Alla meso ths php de to bgazei gamooo...

Άβαταρ μέλους
ThyClub
Honorary Member
Δημοσιεύσεις: 5312
Εγγραφή: 17 Νοέμ 2003 00:21
Τοποθεσία: Hell's Kitchen
Επικοινωνία:

Export se excel apo sql me php- problem utf8

Δημοσίευση από ThyClub » 05 Αύγ 2009 01:08

Όχι άλλο λέω. Δεν δημιουργείται κάπου αυτόματα το αρχείο. Μόνο όταν το αποθηκεύεις εσυ.

killingbegin
Δημοσιεύσεις: 9
Εγγραφή: 01 Φεβ 2009 18:14

Export se excel apo sql me php- problem utf8

Δημοσίευση από killingbegin » 05 Αύγ 2009 01:15

ThyClub έγραψε:Όχι άλλο λέω. Δεν δημιουργείται κάπου αυτόματα το αρχείο. Μόνο όταν το αποθηκεύεις εσυ.
ναι ναι το αποθηκεύω εγώ και μετά.

exei na kanei me leitourgiko h kati allo?h ine kathara php kai sql?

Απάντηση

Επιστροφή στο “PHP Προγραμματισμός”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 1 επισκέπτης