[ HolyWarrior @ 04.12.2011. 15:35 ] @
Pokusavam da postavim vreme unetog komentara na sajtu, ali zelim da dobijem format recimo 26. dec 2011. ponedeljak, ail zelim da mi "dec" i "ponedelja" budu ispisani cirilicom.

Kod trenutno izgleda ovako, pa ukoliko neko zna da ga prepravi ili da mi kaze gde trebam da ispravim, bio bih vam veoma zahvalan. :)

<?php
$upit = 'SELECT Naslov, Tekst, Vreme FROM Novost ORDER BY Vreme DESC';
if(($rezultat = mysql_query($upit, $konekcija)) && ($zapis = mysql_fetch_assoc($rezultat)))
{
?>
<?php echo date("l d.m.Y.", strtotime($zapis['Vreme'])); ?>
<br>
<?php echo $zapis['Naslov']; ?><br>
<?php echo $zapis['Tekst']; ?>
<br>
<?php while($zapis = mysql_fetch_assoc($rezultat)){ ?>
<br>................................................................................................................................................
<br>
<?php echo date("l d.m.Y.", strtotime($zapis['Vreme'])); ?><br>
<?php echo $zapis['Naslov']; ?><br>
<?php echo $zapis['Tekst']; ?>
<?php
}
}
?>

Ukoliko vam trebaju jos neke informacije, slobodno pitajte, znacilo bi mi da resim ovaj problem.
[ kelja @ 04.12.2011. 17:14 ] @
Code:

<?php 
$days=array('Monday','Tuesday','Wednesday','Thursday','Friday','Sathurday','Sunday');
$days_cir=array('Ponedeljak','Utorak', 'Sreda', 'Četvrtak', 'Petak', 'Subota', 'Nedelja'); //ovo ce ES da konvertuje u latinicu, ali hajde...



$upit = 'SELECT Naslov, Tekst, Vreme FROM novost ORDER BY Vreme DESC';
$rezultat = mysql_query($upit, $link);
?>

<?php while($zapis = mysql_fetch_array($rezultat)){ ?>
<br>................................................................................................................................................
<br>
<?php 


$datum=date("l d.m.Y.", strtotime($zapis['Vreme']));

for($i=0;$i<count($days);$i++){
    if(preg_match('%'.$days[$i].'%',$datum)) {
    $cir_datum=str_replace($days[$i],$days_cir[$i],$datum);
echo $cir_datum;    
    }
}

//
?><br>
<?php echo $zapis['Naslov']; ?><br>
<?php echo $zapis['Tekst']; ?>
<?php
}

?>




Sigurno ima boljih resenja, ne znam da li ce ovo da bude sporo kod izvlacenja velikog broja zapisa, ali... eto, valjda je malo pomoglo... isti princip koristis za zamenu brojeva meseci cirilicnim tekstom...
[ Nikola Poša @ 04.12.2011. 17:59 ] @
Code:
$language = 'sr_Cyrl';
putenv('LANG=' . $language);
setlocale(LC_ALL, $language);

echo strftime("%e. %B %Y., %A", mktime(0, 0, 0, 12, 4, 2011));

To bi trebalo da ispiše: 4. decembar 2011., nedelja. Naravno, da bi ovo radilo, treba da imaš instaliran taj locale na tvojoj mašini.

btw Imaj samo na umu da %e nije podržan na Windows-u, pa će u slučaju da ovo probaš na tom OS-u, strftime() vratiti prazan string. Kao alternativu, na Windows-u možeš da koristiš %#d.

[Ovu poruku je menjao Nikola Poša dana 04.12.2011. u 19:11 GMT+1]
[ HolyWarrior @ 04.12.2011. 18:06 ] @
Hvala na brzom odgovoru, ali mi nije resilo problem, izbacuje mi gomilu gresaka i kako koju ispravim i dalje dobijem isti rezultat, odnosno ne dobijem ono sto zelim.

Znam da takva opcija postoji u Podesavanjima WordPressa gde se jednostavno izabere jezik i dobije se zeljeni rezultat, ali u phpMyadmin nemam opciju da izaberem Cirilicni jezik.
Mozda sve ovo zvuci glupo, ali zaista ne znam resenje.

Hvala jos jednom.
[ kelja @ 04.12.2011. 18:17 ] @
Citat:
Nikola Poša
Code:
$language = 'sr_Cyrl';
putenv('LANG=' . $language);
setlocale(LC_ALL, $language);

echo strftime("%e. %B %Y., %A", mktime(0, 0, 0, 12, 4, 2011));

To bi trebalo da ispiše: 4. decembar 2011., nedelja. Naravno, da bi ovo radilo, treba da imaš instaliran taj locale na tvojoj mašini.

btw Imaj samo na umu da %e nije podržan na Windows-u, pa će u slučaju da ovo probaš na tom OS-u, strftime() vratiti prazan string. Kao alternativu, na Windows-u možeš da koristiš %#d.

[Ovu poruku je menjao Nikola Poša dana 04.12.2011. u 19:11 GMT+1]


He, he, znao sam da je to reseno vec, efikasno...

no, ono moje, ako ovo ne fercera (iz ko zna kojih razloga), sigurno radi. :D
[ ivan.a @ 04.12.2011. 18:31 ] @
Za ćirilicu i latinicu:

Code:
setlocale(LC_ALL, 'Serbian (Cyrillic)_Serbia and Montenegro.1251');

echo strftime("%A %d %B %Y", mktime(0, 0, 0, 12, 22, 1978));
echo "<br />";
setlocale(LC_TIME, 'Serbian (Latin)_Serbia and Montenegro.1250');
echo strftime("%A %d %B %Y", mktime(0, 0, 0, 12, 22, 1978));
echo "<br />";

$loc_sr = setlocale(LC_TIME, '[email protected]', 'sr', 'sr_CS', 'serbian');
echo "Preporucena lokalizacija na ovom serveru: '$loc_sr'";

Nekad neće da rade sve lokalizacije što zavisi od servera.
Ja bih radije napravio funkciju za imena meseca i dana u kombinaciji sa date funkcijom.
[ kelja @ 05.12.2011. 12:23 ] @
Evo, na primer, ovako:

Code:

function ciriliziraj_tm($item) {
$days=array('Monday','Tuesday','Wednesday','Thursday','Friday','Sathurday','Sunday');
$days_cir=array('Ponedeljak','Utorak', 'Sreda', 'Četvrtak', 'Petak', 'Subota', 'Nedelja');

$months=array('Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec');
$months_cir=array('Januar','Februar','Mart','April','Maj','Jun','Jul','Avgust','Septembar','Oktobar','Novembar','Decembar');

for($i=0;$i<count($days);$i++){
    if(preg_match('%'.$days[$i].'%',$item)) {
    $cir_datum=str_replace($days[$i],$days_cir[$i],$item);

    }
}

for($i=0;$i<count($months);$i++){
    if(preg_match('%'.$months[$i].'%',$cir_datum    )) {
    $cir_datum=str_replace($months[$i],$months_cir[$i],$cir_datum);

    }
}
return $cir_datum;    

}

//podrazumevani unos:
$datum=date("l d. M Y.", strtotime($zapis['Vreme']));  //dakle, ime meseca umesto broja!!!!

//upotreba

echo ciriliziraj_tm($datum);





Da, pravopisni naputak ™ - imena meseci se pisu malim slovom, kod nas... :D