[ nezki @ 27.05.2010. 22:25 ] @
Pozdrav drugari,
Imam problem sa importovanjem podataka sa nasim slovima iz excel fajla u mysql tabelu.
Naime import radi super ali se nasa slova ne upisuju kako treba u bazu.
Charset baze je utf-8, collation je utf8_general_ci a encoding fajla je utf-8.
Attachovao sam kompletan primer:
test_db.sql je baza, test-file.xls je primer excel fajla
A u rar folderu se nalazi folder import i samo ga postavite kod vas na server i u fajlu /import/php/database.class.php podesite podesavanja za konekciju na bazu.
Zatim pokrenite index.php iz foldera i pojavice se forma za upload fajla, uplodujte test file i ako se uspesno izvrsi importovanje trebalo bi da dobijete poruku koliko je redova upisano.

Cela logika importovanja nalazi se u fajlu /import/import/import.php.

Da li neko moze da mi pomogne i objasni sta treba da podesim da bi se i nasa slova iz excel fajla korektno upisala u bazu.
unapred hvala svima.
[ flylord @ 28.05.2010. 07:48 ] @
Malo me mrzi da proucavam sve ovo. Probaj sa ovom klasom: http://code.google.com/p/php-excel-reader/ . Ja nju koristim i bez problema unosi nasa slova. I da, cisto da znas. Exel ne podrzava unicode. Na primer, ne mozes da uradis kako treba export u csv :(
[ nezki @ 28.05.2010. 08:51 ] @
Nisam porbao jos unos u bazu, ali evo samo sam u ovaj example.xls upisao par nasih slova i onda pokrenuo example.php(dodao sam samo u head <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">)i vratio mi je opet hiroglife.
Mislim da ne cita ova klasa opet nasa slova. Ako imas neki tvoj primer gde koristis ovu klasu sa nsaim slovima da vidimo da li stvarno radi.
Meni ova klasa definitivno ne radi.
[ petarnet @ 08.06.2011. 08:32 ] @
Da bi sve radilo kako treba u fajlu database.class.php sledeća funkcija treba da izgleda ovako:
Code:

 function connect() {
     $this->link_id = @mysql_connect ($this->server, $this->user, $this->pass);
    mysql_query("SET NAMES  'CP1250'"); 
    if (!$this->link_id) return 1; //open failed
    if (!@mysql_select_db ($this->database, $this->link_id)) return 2; //no database
    return 0;
    
  }


U fajlu import.php liniju :
Code:

$file->setOutputEncoding('UTF-8');

treba zameniti:
Code:

$file->setOutputEncoding('CP1250');


Posle ove korekcije ne bi trebalo da bude problema s našim znacima.