Správná čeština (cp1250) z MySQL

Tohle sem vytáhnul z php.net a trochu upravil...

function mysql_cp1250(&$input) {
if (!is_array($input)) {
return false;
}

foreach ($input AS $key => $value) {
if (is_array($input[$key])) {
array_walk_recursive($input[$key]);
} else {
$saved_value = $value;
$saved_key = $key;

$value = strtr($value, "ąľ»µ©®«Ą", "šžťľŠŽŤĽ");

if ($value != $saved_value || $saved_key != $key) {
unset($input[$saved_key]);
$input[$key] = $value;
}
}
}
return true;
}


Jak říkám, je to vytažený z php.net, takže by to stopro někdo zvládnul ještě vylepšit... Poněvadž sem neměl čas ten kód nějak řešit...

Použití:
$result = mysql_query(...);
while ($row = mysql_fetch_assoc($result)):
mysql_cp1250($row);
...
endwhile;
1) jen tak btw...porusujes podminky webzdarma hned v nekolika bodech.
2) jo, to je pro lidi, co neco delaj, a ani nevi, co. Prece kdyz pracuju s jakymkoli textem, dopredu si urcim, s jakou kodovou strankou budu pracovat, a tu pak pouzivam vsude. Kdo to micha, potrebuje takovyto skript. Ale rekl bych, ze se to da vyresit trochu strucneji:

http://dev.mysql.com/doc/refman/4.1/en/mysql-set-character-set.html
http://dev.mysql.com/doc/refman/4.1/en/charset-convert.html
http://dev.mysql.com/doc/refman/4.1/en/charset-ce-sets.html
atd.
1) už sem to opravil, nebo ještě něco porušuju?
2) chtěl si to, ne? myslíš si že si neumim najít správnej příkaz v manuálu mysql? ale uvědom si, že většina lidí tu potřebuje jednoduché a okamžité řešení!
nic ve zlém, ale není to trochu kontraproduktivní? Takové drbání levou rukou za pravým uchem? Je jasné, že všichni chtěji rychlá řešení, ale např v příspěvku : http://www.webzdarma.cz/forum/read.php?f=6&i=38442&t=38442, jsem odkaz sem naprosto nepochopil.Totiž pokud někdo neví, že nějaké kódování češtiny existuje a přijde mu, že když ve Windows píše česky tak to bude všude česky, tak mu odkaz na předódování češtiny pomocí MySQL, kterou navíc ani nepoužívá, způsobí spíše chaos než aby mu pomohl
Já fakt nevim.. Tady máš tu funkci, a jestli někomu k něčemu bude, budu jen rád.. A v tom threadu myslim žes psal ty nebo někdo jinej, ať to hodim do samostatnýho threadu s nějakym smysluplnym názvem
aha, tak to se omlouvám, myslel jsem, že je to reakce na hlavní téma příspěvku
1) uz je to dobry ;)
2) psal, myslel jsem, ze jde o skript na prekodovani cele databaze pro pripad, ze si nekdo blbe nastavi charset. Ale tahle vymena znaku za znak mi prijde zbytecne, kdyz moznost prekodovani nabizi samotne mysql.