strtolower na velké utf8 znaky s diakritikou

7 příspěvků

Archiv diskusního fóra

Fórum je uzavřené a slouží pouze ke čtení. Některé informace mohou být zastaralé.

  1. Dobrý den, jsem línej, udělal jsem si funkci, která dokázala udělat "strtolower na velké utf8 znaky s diakritikou" ale bylo funkcí str_replace a pak jsem právě zjistil, že existuje tato funkce (strtolower), tak jsem jí chctěl použít a ona mi nefunguje. Jak tedy použiju tuto funkci na velké utf8 znaky s diakritikou (Ú,Ů,Ž,Š,Č,Ř,Ď,Ť,Ň...)? na php.net jsem našel zázračnou funcki: function strtolower_utf8($inputString) { $outputString = utf8_decode($inputString); $outputString = strtolower($outputString); $outputString = utf8_encode($outputString); return $outputString; } která mi moc nefunguje. Jde jen o moji zvědavost, klidně můžu použít to str_replace.
  2. Asi jsem nepochopil, čeho chceš dosáhnout :) Takhle: práce s řetězci v UTF8 není zase až tak jednoduchá, jak vypadá - proto se tomu vyhýbám kudy chodím ;) Můžeš zkusit toto: setlocale(LC_ALL, 'cs_CZ'); echo strtoupper("příliš žluťoučký kůň úpěl ďábelské ódy"); Ale je dost velká pravděpodobnost, že to nebude fungovat, protože zálaží na způsobu kompilace PHP...
  3. dobře, ;) vystačím si se str_replace, kde si nahradím znaky ÁÉÍÓŮÝŽŠČŘĎŤŇ :)
  4. dík
  5. <HTML>O tom proc se chova UTF tak jak se chova jsem tu psal nedavno... tobe ale postaci: $str = mb_strtolower($str);</HTML>
  6. :-( <?php $str = 'ŽŠČŘĎŤŇÁÉÍÓÚŮÝ'; $str = mb_strtolower($str); echo $str; ?> vypíše: �������������� pošleš mi prosím link, na to jak a proč se chová UTF? dík
  7. Mi ten tvůj skript hodí: ŽŠčřďŤňáéíóúůý Tady máš povídání o UTF-8: http://cs.wikipedia.org/wiki/UTF-8 Jelikož některé znaky jsou v UTF-8 uloženy vícebajtově, nelze použít funkci strtolower(), která převádí jednobajtový znak na jiný jednobajtový znak v jiné znakové sadě.

← Zpět na všechna témata