Stranice: [1]   Idi dole
  Štampaj  
Autor Tema: kodna strana  (Pročitano 8472 puta)
ivana.d
Gost
« poslato: Četvrtak, 11. Maj 2006. 19:25:51 »

Hteo bih da pitam nesto, povezano sa kodnom strano. Ono sto me interesuje je sledece. Zelim da importujem podatke iz Excel fajla u bazu podataka. Pre importa zelim u PHP-u da obradim te podakte. Korisnik moze da napravi Excel fajl sa bilo kojom kodnom stranom, to je nemoguce spreciti. Zeleo bih da cujem iskustva drugih programera o ovom problemu. Pokusao sam da koristim neke f-je kao 'utf8', ali nisam se snasao. Kodna strana koja mene interesuje je 8859-1, ali me takodje interesuje kako se izboriti sa nasim slovima. Sve to mora da bude obavljeno u PHP-u iskljucivo

unapre hvala
Sačuvana
maddox
Gost
« Odgovor #1 poslato: Četvrtak, 11. Maj 2006. 21:03:06 »

Hm, da li bi ti setlocale povrsio posao? Sto se tice nasih slova, ja sam radio sa njima, postoje mb funkcije za rad sa nasim slovima, ali radilo je iskljucivo kada je encoding bio postavljen na utf-8. E, sada, ne znam kako se radi prilikom eksporta podataka iz Exel fajlova, da li se za nasa slova dobijaju konkretno slova, ili html kodovi? Ako su slova, onda ce gore navedene mb ( multi-byte ) da ti povrse posao, a ako imas kodove, u zavisnosti od toga sta radis sa podatcima, verovatno bi morao svoje f-je da pises, mada mozda postoje i gotove, nisam nikada sa time radio, mada i mene interesuje kako bi se resili odredjeni problemi kada je u pitanju pretstavljanje nasih slova preko html kodova.
Sta si pokusavao da resis? Na koji nacin ako nije tajna?
Sačuvana
ivana.d
Gost
« Odgovor #2 poslato: Subota, 13. Maj 2006. 17:14:28 »

Nije uopste tajna, evo sta hocu da uradim. Hocu da importujem podatke iz Excel fajla u MySQL bazu, ali prvo hocu da ih obradim u PHP-u. I sada, na primer, uneta vrednost u celiji u Excelu je "mobile". Meni ova vrednost treba bez navodnika, sto znaci da moram da odsecem navodnike, pa stavim trim("mobile", "\""). E sada nailazi kvaka, ako excel ima standardnu kodnu stranu, ovo ce da radi. Medjutim, na primer, ako bilo gde u Excelu postoje nasa slova, Excel ce automatski promeniti kodnu stranu celom fajlu, i moja f-ja trim vise nece da radi jer PHP ima jedan ascii kod za navodnik, a excel neki sasvim drugi, i to je veliki problem, koji trenutno neznam kako da resim. Ako neko ima ideju, svaka sugestija je dobrodosla.

Hvala
Sačuvana
maddox
Gost
« Odgovor #3 poslato: Utorak, 16. Maj 2006. 23:16:33 »

Kada se u excel upisu nasa slova, koju kodnu stranu on stavi za fajl? Da li stavi utf-8 ili nesto drugo? Drugo, da li ces ti kontrolisati tu skriptu na serveru, dakle, da li ces ti njoj kazati: "evo ti excel file, prebaci podatke u mysql" ili ce to raditi neko drugi kroz browser?
Sačuvana
ivana.d
Gost
« Odgovor #4 poslato: Sreda, 17. Maj 2006. 15:48:16 »

U tome jeste sustina mog pitanja. Ovaj software je namenjen sirokoj paleti korisnika, sto znaci da ja apsolutno neznam koju kodnu stranu ce user postaviti u svom Excel fajlu.
User sam importuje podatke kroz browser, ja sam postavio software koji se koristi za import, i useri sami obavljaju kompletan postupak importovanja.
Sačuvana
maddox
Gost
« Odgovor #5 poslato: Sreda, 17. Maj 2006. 17:25:11 »

Ajde molim te ako imas neki excel file, bilo kakav, ne bitno, mozes da napravis neki probni okaci mi ovde, zelim da probam nesto. Dakle jedna od ideja mi je da se f-je koje se koriste menjaju u zavisnosti od kodne strane, ali mi treba file da probam nesto.
Sačuvana
ivana.d
Gost
« Odgovor #6 poslato: Subota, 20. Maj 2006. 13:31:03 »

Fajl je obican najobicniji, ima nekoliko kolona na sheetu, samo prva linija na sheetu treba da bude formatirana u obliku:
"mobile, firstname, secondname", na primer tako treba da izgleda prva linija, a ispod idu odgovarajuci podaci.
Ovo ti pisem zato sto neznam kako da okacim fajl na forum, na zalost nemas sajt sa koga bi mogao da ga skines.

hvala
Sačuvana
maddox
Gost
« Odgovor #7 poslato: Subota, 20. Maj 2006. 13:40:26 »

Klikni na Dodatne opcije u dnu strane kada odgovaras na poruku, i imas opciju "Attachment", odaberi mali Excel file i kada posaljes poruku ja cu moci da ga preuzmem. Napravi mali file, sa 2-3 unosa, ja nemam Excel tako da ne mogu nista da uradim. Nemam pojma koliko OO i Excel imaju iste fajlove.
Sačuvana
ivana.d
Gost
« Odgovor #8 poslato: Sreda, 24. Maj 2006. 07:46:02 »

Ajde evo jedan fajl, kao templejt, kako bi u realnim uslovima trebalo da izgleda fajl iz koga se importuju slogovi u bazu podataka. Elem, sve su ovo polja tipa character, i user moze da kuca sta god pozeli. Ja moram da obezbedim da specijalni karakteri budu odstranjeni, jer MySQL nece raditi korektno sa nekim specijalnim karakterima. Na primer upit ce da pukne na prvi navodnik (") koji nije obradjen kako treba. Ja sam import proceduru napisao i ona radi bez problema, ali onog momenta kada bude promenjena kodna strana u Excelovom fajlu, import procedura ne radi kako treba, jer naprimer navodnik (") nema isti ASCII kod na strani koja ima nasa slova. Ovo je samo jedan od primera, a ima ih mnogo.
Napomena: Promenio sam extenziju fajlu da bi mogao da ga postavim na server, jer extenzija .xls nije podrzana, koliko vidim. Nadam se da ce ovaj fajl biti od koristi.
Sačuvana
maddox
Gost
« Odgovor #9 poslato: Sreda, 24. Maj 2006. 16:11:58 »

Da li bi molim te mogao da okacis kod koji pravi problem? Naravno, ako smes to da uradis, posto radis za firmu.
Sačuvana
ivana.d
Gost
« Odgovor #10 poslato: Četvrtak, 25. Maj 2006. 07:44:53 »

Nije sporno za kod, ali to je najjednostavnij moguci kod za obradu charactera. Napravis 'trim listu' (listu specijalnih karaktera) koje zelim da odstranim i iskoristim trim naredbu. Nema tu nista revolucionarno, svako ko je ikada radio import iz excela. Jednostavno se setam kroz fajl, uzimam liniju po liniju iz fajla, obradjujem svaku liniju import procedurom i importujem u bazu sve podatke iz te linije. Nije to nista nepoznato. Problem nastaje onog momenta kada se promeni kodna excelovog fajla iz kojeg vrsim import. Trim lista sadrzi znak navodnika na primer (") sa odredjenim ASCII kodom za taj znak (ISO8859-1). E, onog momenta kada se promeni kodna strana excelovog fajla, trim komanda vise ne vidi navodnike kao navodnik vec kao neki skroz levi karakter. To je osnovni problem, kod kao kod nije problem.
Sačuvana
maddox
Gost
« Odgovor #11 poslato: Nedelja, 28. Maj 2006. 16:55:37 »

Uf, nisam nista provalio, ali je ideja kao sto sam gore naveo da se nadje f-ja koja ce saznati kog je encodinga excel file i da se taj encoding pomocu setlocale postavi za sve f-je. E, sada, ako ima nasih slova pretpostavljam da windows postavlja encoding na cp1251, ili kako ga vec on zove ( video sam negde da ljudi koriste za encoding sa nasim slovima i windows-cp1251 ). Ajde probaj tako da vidis da li ces resiti problem, ako mu postavis encoding na pravi, pretpostavljam da trim nece da brlja. Javi sta si uradio, ova tema mi je bas interesantna i voleo bih da saznam sta je resenje problema.
Sačuvana
Stranice: [1]   Idi gore
  Štampaj  
 
Prebaci se na:  

?>