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

problem sa citanjem podataka iz my sql baze

[es] :: MySQL :: problem sa citanjem podataka iz my sql baze

[ Pregleda: 2775 | Odgovora: 13 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

gogi100
Goran Ljubic

Član broj: 40722
Poruke: 1064
109.72.57.*



+3 Profil

icon problem sa citanjem podataka iz my sql baze06.07.2010. u 08:17 - pre 168 meseci
dakle na serveru gde se nalazi mysql 5.0 imam bazu. kad iz phpmyadmin pristupim bazi i pogledam podatke vide se samo kukice. kad pretrazujem bazu sa internet sajta podaci iz baze se vide ok. u internet pretrazivacima primer chrome podaci se vide ok. utvrdio sam da se podaci u pretrazivacu vide ok kad stoji kodiranje utf8. ja hocu da ovu bazu izveze lokalno na moj hard disk i vidim tacno podatke, a ne kukice. da li postoji neki nacin da se to izvede?
hvala
 
Odgovor na temu

bogdan.kecman
Bogdan Kecman
"specialist"
Oracle
srbistan

Član broj: 201406
Poruke: 15887
*.31.24.217.adsl2.beograd.com.

Sajt: mysql.rs


+2377 Profil

icon Re: problem sa citanjem podataka iz my sql baze06.07.2010. u 08:42 - pre 168 meseci
u bazi ti se nalazi SMECE !!! to je cesta pocetnicka greska koja se kasnije jako tesko ispravlja. Pisano je o tome vise puta na ovom istom forumu.

Kada ti u mysql polje koje je sa utf enkodingom upises utf8 karakter od 2 bajta (na primer slovo dj) a pri tome ti je enkoding izmedju klijenta i servera LATIN1 (posto na primer u php-u nisi stavio da ti je enkoding utf8 pa je ostao default latin1) onda ti klijent taj dvobajtni utf8 karakter posalje mysql-u kao 2 jednobajtna latin1 karaktera koje mysql snimi kao 2 trobajtna utf8 karaktera (kuku i kvaku). dakle sada u mysql tabeli imas smece.

sta se dalje desava, kada ti sada, isto tako pogresno, procitas kroz latin1 konekciju sadrzaj tog polja, mysql ti, posto koristis latin1, iskonvertuje ta dva trobajtna utf8 karaktera u 2 jednobajtna latin1 karaktera, tvoj klijent to dobije kao dva karaktera i posalje tvom web browseru koji to procita kao 1 utf8 karakter zato sto si mu forsirao enkoding na utf8 u zaglavlju html-a - i ti to prividno vidis kao korektan podatak..

ako sada uzmes i procitas te podatke validno (kao sto to uradi phpmyadmin) tako sto stvarno prikazes ono sto dobijes iz baze, ti vidis da si dobio kuku i kvaku, tj, smece.

ispravljanje ovog smeca je za*ban posao, generalno mozes da konvertujes ta pogresna polja iz utf8 u latin1, kako bi od trobajtne kuke dobio 1bajtnu kuku te da 2bajtni utf8 karakter sada uzima 2 bajta u tom polju (2 latin1 karaktera). Onda taj latin1 konvertujes u binarni enkoding pa onda iz binarnog probas da vratis u utf8. U 99% slucajeva ce ovo ocistiti smece iz baze i vratiti validne podatke u ta polja. Zatim moras da popravis tvoju aplikaciju koja je napravila svo to smece tako sto ces na pocetku konekcije da definises enkoding (utf8) (potrazi forum na "set names 'utf8'" za detalje).
 
Odgovor na temu

gogi100
Goran Ljubic

Član broj: 40722
Poruke: 1064
109.72.57.*



+3 Profil

icon Re: problem sa citanjem podataka iz my sql baze06.07.2010. u 09:19 - pre 168 meseci
uh ovo je malo zafrknuto. ja imam neku bazu u excel-u i nju treba da uvezem u ovu bazu koja mi je na netu. sta bih ja trebalo otprilike da uradim. da li ovu bazu sa smecem kako ti kazes da ocistim, a onda da uvezem ovu excel bazu i kako, a da pri tome ne napravim problem tako da korisnici kad pretrazuju tu bazu na netu ne dobiju kukice i ostale probleme?
 
Odgovor na temu

bogdan.kecman
Bogdan Kecman
"specialist"
Oracle
srbistan

Član broj: 201406
Poruke: 15887
*.31.24.217.adsl2.beograd.com.

Sajt: mysql.rs


+2377 Profil

icon Re: problem sa citanjem podataka iz my sql baze06.07.2010. u 12:43 - pre 168 meseci
pazi - sto je duze ta aplikacija tako za*rana i nastavi da puni smece to ces kasnije imati vise problema
 
Odgovor na temu

gogi100
Goran Ljubic

Član broj: 40722
Poruke: 1064
*.dynamic.isp.telekom.rs.



+3 Profil

icon Re: problem sa citanjem podataka iz my sql baze06.07.2010. u 20:26 - pre 168 meseci
ne za unos podataka napravljen je mali programcic koji je iscitavao podatke iz baze u loklau i unosio ih u mysql bazu. sada se ta aplikacija vise ne koristi. dakle ideja mi je da bazu ispraznim od smeca i lokalnu bazu izvezem naprimer u csv, a zatim je uvezem u mysql bazu. to bih radio stalni bar jednom mesecno. da li ovo ima smisla ili ce biti problema. dakle nema vise aplikacije koja pravi smece
 
Odgovor na temu

bogdan.kecman
Bogdan Kecman
"specialist"
Oracle
srbistan

Član broj: 201406
Poruke: 15887
*.31.24.217.adsl2.beograd.com.

Sajt: mysql.rs


+2377 Profil

icon Re: problem sa citanjem podataka iz my sql baze06.07.2010. u 21:54 - pre 168 meseci
tvoja sadasnja aplikacija koja radi sa bazom generise i dalje smece / radi sa tim smecem. "popravljanje jednom mesecno" je pogresna ideja, popravi

1. bazu (zameni smece korektnim podacima)
2. aplikaciju (da cita i pise korektno - ako je u pitanju php sve sto treba da uradis je da dodas jedno "set names 'utf8'" na pocetku posle konekcije

i vise nikad neces imati smece, nemoj da krpis, popravi
 
Odgovor na temu

gogi100
Goran Ljubic

Član broj: 40722
Poruke: 1064
*.dynamic.isp.telekom.rs.



+3 Profil

icon Re: problem sa citanjem podataka iz my sql baze06.07.2010. u 22:25 - pre 168 meseci
mislim da me nisi razumeo, aplikacija koja je radila izvoz podataka iz moje baze na serveru u mysql bazu ne radi vise od pola godine. a php korisnici koji posecuju stranu koriste samo za iscitavanje podataka u bazu nema upisa. dakle da li ja mogu da jednostavno ispraznim bazu (sklonim smece), a zatim izvezem bazu na serveru na primer u csv i zatim ucitma taj csv u moju praznu mysql bazu i da ne napravim nikakve probleme. dakle da li je moguc jednostavan export import. polja u bazi na serveru i u mysql-u su ista
 
Odgovor na temu

bogdan.kecman
Bogdan Kecman
"specialist"
Oracle
srbistan

Član broj: 201406
Poruke: 15887
*.31.24.217.adsl2.beograd.com.

Sajt: mysql.rs


+2377 Profil

icon Re: problem sa citanjem podataka iz my sql baze07.07.2010. u 01:54 - pre 168 meseci
kada u bazu ubacis "pravilne podatke" a ne promenis tu aplikaciju, ona nece korektno citati te podatke. dakle, popravis datu i popravis aplikaciju.
 
Odgovor na temu

bogdan.kecman
Bogdan Kecman
"specialist"
Oracle
srbistan

Član broj: 201406
Poruke: 15887
*.31.24.217.adsl2.beograd.com.

Sajt: mysql.rs


+2377 Profil

icon Re: problem sa citanjem podataka iz my sql baze07.07.2010. u 02:18 - pre 168 meseci
evo nacukah na brzinu post na tu temu - kako ispraviti problem (smece u bazi):

http://www.mysql.rs/2010/07/smece-u-bazi-po-ko-zna-koji-put/


 
Odgovor na temu

gogi100
Goran Ljubic

Član broj: 40722
Poruke: 1064
109.72.57.*



+3 Profil

icon Re: problem sa citanjem podataka iz my sql baze08.07.2010. u 11:11 - pre 168 meseci
ja se izvinjavam. uspeo sam da ispravim gresku sa citanjem podataka direktno iz baze. dakle izvezo sam moju lokalnu bazu u excel, a zatim lepo sve to konvertovao u csv. a zatim preko phpadmina uvezu u mysql i sve prikazuje sve ok, ali sad mi se pojavljuje problem sa ocitavanjem podataka na internetu. pojavljuju mi se upitnici u svim poljima. kad korisnik unese neki svoj licni podatak tipa jmbg svi njegovi podaci su ??????????. izvini mozes li mi pomoci?
hvala. charset je utf8 u php skripti
 
Odgovor na temu

bogdan.kecman
Bogdan Kecman
"specialist"
Oracle
srbistan

Član broj: 201406
Poruke: 15887
*.31.24.217.adsl2.beograd.com.

Sajt: mysql.rs


+2377 Profil

icon Re: problem sa citanjem podataka iz my sql baze08.07.2010. u 11:29 - pre 168 meseci
ocigledno nesto nisi dobro uradio ...

napravi najprostiji primer

Code:

< !DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head></head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<body>
<?php
mysql_connect(':/tmp/mysql.sock', 'root', '') or die(mysql_error());
mysql_select_db('test') or die (mysql_error());
$res = mysql_query(“set names ‘utf8′”);

$res = mysql_query('select utfpodatak from nekatabela');


while ($row=mysql_fetch_row($res)) echo $row[0].'<br/>';
@mysql_free_result($res);
mysql_close();
?>
</body></html>


ako ti ova skripta ne prikaze validne podatke na webu - znaci da u bazi nemas validne podatke
 
Odgovor na temu

gogi100
Goran Ljubic

Član broj: 40722
Poruke: 1064
109.72.57.*



+3 Profil

icon Re: problem sa citanjem podataka iz my sql baze08.07.2010. u 13:50 - pre 168 meseci
problem sam resio tako sto sam u php samo ubacio red

$res = mysql_query(“set names ‘utf8′”);

i odmah je profunkcionislao. problem je bio oko karaktera navodnika i apostrofa. kad sam ih ubacio normalno odmah radi sve uredu.

zasto je potrebno postaviti ostali kod

$res = mysql_query('select utfpodatak from nekatabela');


while ($row=mysql_fetch_row($res)) echo $row[0].'<br/>';
@mysql_free_result($res);
mysql_close();
?>

koji si ti naveo?
 
Odgovor na temu

bogdan.kecman
Bogdan Kecman
"specialist"
Oracle
srbistan

Član broj: 201406
Poruke: 15887
*.31.24.217.adsl2.beograd.com.

Sajt: mysql.rs


+2377 Profil

icon Re: problem sa citanjem podataka iz my sql baze08.07.2010. u 14:05 - pre 168 meseci
uf bre ... stvarno ne znam sta da ti odgovorim na to pitanje ..

taj skript ti prikazuje rezultate jednog upita .. znaci ideja je bila da poteras samo taj skript, ne da ceo skript ubacujes u neki drugi kod :D

a set names ti stoji vec u nekoliko primera - i svuda je utf8 pod apostrofima

no .. bitno da radi
 
Odgovor na temu

gogi100
Goran Ljubic

Član broj: 40722
Poruke: 1064
*.dynamic.isp.telekom.rs.



+3 Profil

icon Re: problem sa citanjem podataka iz my sql baze08.07.2010. u 15:39 - pre 168 meseci
bitno je da radi. hvala ti puno. necu vise da te smaram. jos jednom hvala
 
Odgovor na temu

[es] :: MySQL :: problem sa citanjem podataka iz my sql baze

[ Pregleda: 2775 | Odgovora: 13 ] > FB > Twit

Postavi temu Odgovori

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