Autor Zpráva
Jasper
Profil
Mám standartní funkci v PHP ,která v řetězci změní první pismeno na velké a ostatní na malé, ale nějak mi nebere znaky s diakritikou:(

např: ucfirst("šanonŠ") vypíše šanonŠ

Nevíte co s tím?
tiso
Profil
Nemáš tam náhodou kódovanie utf-8?
Jasper
Profil
No melo by tam byt win-1250, ale stejna funkce mi nefunguje ani kdyz mam jen jednoduchy php soubor, kde mam jen tu funkci a zadne kodovani. S pismenama bez diakritiky to funguje...
tiso
Profil
...na php.net to máš vysvetlené že to nefunguje s takýmito znakmi... Takže smolka...
pmasarik
Profil
Žiadna smola stačí hladať...

Funkce ucfirst() je na kapitalizaci prvního písmene stringu. Pokud je však první znak nějaký český znak, zůstane stále stejný.

print ucfirst("čeština"); // vypíše čeština

Stačí si na to však napsat jednoduchou funkci, která vezme první znak a použije na něj funkci mb_strtoupper.

function mb_ucfirst($str)
{
$beg = mb_substr($str, 0, 1);
$end = mb_substr($str, 1);
return mb_strtoupper($beg) . $end;
}

print mb_ucfirst("čeština"); // vypíše Čeština

viac na http://halogan.xblog.cz/archiv/2005/08/php-prakticky-prace-s-utf-8
Toto téma je uzamčeno. Odpověď nelze zaslat.

0