Autor Zpráva
Joon
Profil *
Četl jsem na www.jakpsatweb.cz/cestina.htm a tam pisou o překodovani českých znaků ale v IE mám link Summer Games 2Hod oštěpem.php ale neodkáže na něj a hodí chybu. V mozille samozřejmě bez problému. Jde to nějak vyřešit? Zkoušel jsem i

<meta http-equiv="Content-Type" content="text/html; charset=windows-1250"> i s UTF a ostatními, ale nic nejelo
WanTo
Profil
Jde to nějak vyřešit?
Nepoužívat diakritiku.
Joon
Profil *
Hm dík a jak by asi vypadal nadpis Hod ostepem jako u nejakych krovaku prosim o rozumne odpovedi
Joon
Profil *
Dobrá jinak mám proměnnou
$link = $nazev.$disciplina no a ta $disciplina je s hackama jak z dostat z teto promenne bez hackovou hodnotu
nightfish
Profil
odstranění diakritiky z různých kódování
Hooonza
Profil *
Hm dík a jak by asi vypadal nadpis Hod ostepem jako u nejakych krovaku prosim o rozumne odpovedi

Nejde o nadpis, ale o název souboru: link na soubor
Summer_Games_2Hod_ostepem.php
vezme kazdy prohlizec v pohodě.

A nadpis? To je něco jiného ne? Ten může být česky normálně (tím myslíš třeba title?

<title>Summer Games 2 Hod oštěpem</title>

to je úplně v pohodě)

h.
WanTo
Profil
Joon
Já nechápu, v čem je problém.

<a href = "bez_diakritiky">S diakritikou, jen tohle je vidět</a>

Dovnitř odkazu, tj do značky <a> si můžeš vložit jakýkoliv text s diakritikou, ale URL necháš bez ní.
Joon
Profil *
<a href = "bez_diakritiky">S diakritikou, jen tohle je vidět</a>

Ano, jenže bez_biakritiky = $hra.$disciplina = S diakritikou, jen tohle je vidět
WanTo
Profil
Proměnné $hra a $disciplina jsi vzal kde? Ty načítáš z databáze?
Joon
Profil *
ano
WanTo
Profil
Joon
Tak si do databáze ulož třeba tyto tři hodnoty: $hra, $disciplina a $url. Dovnitř odkazu umístíš $hra.$disciplina a jako adresu stránky použiješ $url, které bude bez diakritiky. Nebo si můžeš napsat funkci, která postupně vymaže z řetězce diakritiku.


function odstranDiakritiku(&$str) {
for($i = 0; $i < strLen($str); $i++) {
switch($str[$i]) {
case 'á': $str[i] = 'a'; break;
case 'é': $str[i] = 'e'; break;
case 'ě': $str[i] = 'e'; break;
case 'í': $str[i] = 'i'; break;
// ...
}
}
}


Nezkoušel jsem to, napsal jsem to teďka z fleku, takže to možná nebude fungovat.
Anonymní
Profil *
asi zvolím tu druhou možnost a vypíšu ty znaky, děkuji za pomoc.

Chci jenom podotknout, že tento problém vznikl pouze díky IE v Mozille jede vše v pořádkua proto se nabízí otázka je-li možno nechávat háčky a jsou podporovány v IE 7??
Joon
Profil *
můžete to někdo testnout??

napsal jsem:

<?
$str = 'čeština';

function killhacky($str)
{

for($i = 0; $i < strLen($str); $i++) {

switch($str[$i]) {

case 'á': $str[i] = 'a'; break;

case 'é': $str[i] = 'e'; break;

case 'ě': $str[i] = 'e'; break;

case 'í': $str[i] = 'i'; break;

case 'č': $str[i] = 'c'; break;
case 'š': $str[i] = 's'; break;


// ...

}

}

}

echo killhacky();

?>

a vrací:
Joon
Profil *
Warning: Missing argument 1 for killhacky() in /home/free/ic.cz/c/cajedw1/root/www/mobil/killhacky.php on line 4
WanTo
Profil
Joon
1) Nezadal jsi řetězec, ve kterém chceš háčky "killnout".
2) Funkce ti nic nevrací. (v mém případě také nevracela, ale parametr byl předán odkazem, ne hodnotou.)
Joon
Profil *
no kdyz zadam

echo killhacky($str);

tak mi vrati prazdnou, bilou stranku
WanTo
Profil
Joon
To se nedivím, když ta funkce nic nevrací. Člověče, viděl jsi někdy příkaz return? Tak si na konec funkce napiš return $str.
Joon
Profil *
nyní vypadá takhle:

<?
$str = 'česká';

function killhacky($str)
{

for($i = 0; $i < strLen($str); $i++) {

switch($str[$i]) {

case 'č': $str[i] = 'c'; break;

case 'š': $str[i] = 's'; break;

case 'á': $str[i] = 'a'; break;


// ...

}


}

return $str;
}



echo killhacky($str);

?>

a vrací:

aeská
Joon
Profil *
Když příkaz s return posunu ještě o jednu složenou závorku výše tak správně opravuje první písmeno, ale dále nechává beze změny
WanTo
Profil
Tak jsem to asi blbě napsal :-) Říkal jsem, že jsem to nezkoušel. Chvilku počkej, jdu najít chybu.
Joon
Profil *
ok
WanTo
Profil
Já nikdy nepochopím, proč musí v PHP začínat všechny proměnné dolarem :-| Doplň si do přiřazení ve všech case větvích $ před proměnnou i.
Joon
Profil *
Ale ne..... taková prťavost... Jsem si nevšim no.


Jinak moc díky za vytvoření této funkce, ulehčí mi to mnoho práce
nightfish
Profil
akorát tedy nechápu, proč znovu vynalézáte kolo a nevezmete za vděk odkazovanou funkcí
WanTo
Profil
nightfish
No jo, já jsem ten tvůj odkaz úplně přehlédl :-)
Joon
Profil *
Tak nakonec jsem použil kombinovanou metodu a to tak, že do souboru, ktery uploaduje data z formuláře, jsem vložil tu funkci a do db se dostane url bez hacku a carek.
Joon
Profil *
Mě to od WanTo přišlo srozumitelnější a funguje mi to takže jsem max spokojen
skoro pokrocili
Profil
Kdo si bude zadávat stránku s diakritikou?
Toto téma je uzamčeno. Odpověď nelze zaslat.

0