FONForum
http://www.fonforum.org/

Problem sa encodingom... html, php, mysql..
http://www.fonforum.org/viewtopic.php?f=8&t=9485
Stranica 1 od 1

Autoru:  kliford [ 04.05.2007. 13:27:04 ]
Tema posta:  Problem sa encodingom... html, php, mysql..

Problem je sledece prirode...

Baza podataka sadrzi podatke pisane, narodski receno, 'nashim slovima', tj podesio sam encoding na utf-unicode-ci (probao i sa utf-general-ci, isto mi se hvata na kraju)...
Html/php strane koje imam, u njima sam namestio preko meta tagova utf8 i svako 'nashe slovo' uneseno u samoj html strani je prikazano kako treba...
Medjutim, kad pozivam iz baze podatak koji je sa utf encodingom, nece da prikazuje 'sh', 'ch' i slicna slova, vec umesto njih stavlja nesto bezveze, neku kockicu... Ja vas da pitam: zasto? :D
Probao sam, kao sto sam rekao gore, da umesto utf-unicode-ci stavim utf-general-ci, ne vredi... probao sam da umesto meta taga za content stavim php header('Content nja nja nja'), ne vredi... :ljutko:

Jos jedan slican problem imam kad pozivam neki string koji imam u nekom drugom php fajlu (nije rec o stranici, vec o obicnom php fajlu koji samo cuva neke metode i promenljive)... neka se zove config.php
Kad na index.php includujem config.php i pozovem neki string iz config-a, opet mi zezne nasha slova, iako u samom index.php fajlu encoding radi kako treba...
Ne vredi ni da u config.php stavim php header... ovaj problem sam resio na vrlo seljacki nacin: iznad <?php .... ?> bloka sam dodao samo jedan html meta content tag, pa na save as namestim da odradi encoding, i resen problem... mada kontam da se to ne resava tako, vec da postoji neki normalna postupak...

PS.
Probao sam preko Gugleta da resi problem i nije uspelo, svuda sam nailazio na ovo sto sam vec odradio...

Autoru:  zlatko [ 04.05.2007. 19:46:13 ]
Tema posta: 

Čini mi se da sam i ja imao takav problem, pa evo šta sam ja tada radio (to je bio domaći za DIS pre par godina). Ja sam koristio DB klasu koja je standardna u P.E.A.R., mada ju je u međuvremenu zamenila klasa MDB2 ali je valjda to slično. Ono što sam ja radio izgleda ovako:
Kod:
require_once "db.php";

$db = DB::connect('mysql://root@localhost/e-bank');

if (DB::isError($db)) {
    die("Ne mogu se nakačiti na bazu" . $db->getMessage( ));
}

$db->setErrorHandling(PEAR_ERROR_DIE);
$db->query("SET NAMES 'utf8'");

Ova poslednja linija je bila ključna. Kolone u tabeli su bile u utf8, a u html templejtima koje sam popunjavao iz PHP-a (nisam mešao php i html) sam imao:

Kod:
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">


Probaj pa javi da li si rešio problem.

Autoru:  zlatko [ 04.05.2007. 20:22:16 ]
Tema posta: 

Sad sam pogledaom MySQL dokumentaciju i našao ovo: http://dev.mysql.com/doc/refman/5.0/en/ ... ction.html

Autoru:  kliford [ 04.05.2007. 21:43:49 ]
Tema posta: 

Zlajo, kraljE :)
$db->query("SET NAMES 'utf8'"); , tj prevedeno na PHP4 mysql_query("SET NAMES utf8") je resilo problem... thanx ;)

Stranica 1 od 1 Sva vremena su u UTC + 1 sat
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/