Autor Zpráva
Hanz
Profil
Z formuláře na upload tahám název obrázku, který se má načíst. Název mám přístupný pod proměnnou $HTTP_POST_FILES['soubor']['name']
Ale potřebuju, aby se soubor vždy uložil bez diakitiky v názvu. Například:
Moře.jpg
se uloží
More.jpg

Snažil jsem se to převést takhle, ale nešlo:
$bez_diakrityky=StrTr ($HTTP_POST_FILES['soubor']['name'],"ěščřžýáíé","escrzyaie");

Jak to mám udělat?
Hanz
Profil
No teď jsem si všiml, že to funguje, ale špatně. Když jsem použil ten script s háčky, tak to ukládal například to Moře.jpg jako
Moře.jpg

A po úpravě
Moeie.jpg

Nedává mi to smysl, ale možná že vám to pomůže (napadlo mě, že by to mohlo být kódováním, ale je zapotřebí zadávat ještě nějaké kódování u PHP, když je už zadané v HTML?)
Hanz
Profil
No tak už jsem na to zase přišel sám. Takže celý dotaz se mění na:
Co má PHP proti kódování UTF-8 ??
habendorf
Profil
Co má PHP proti kódování UTF-8 ??

Pokud vím tak nic, nikdy jsem s tím neměl problémy.
Hanz
Profil
habendorf
No, když uložím ten PHP soubor s tím scriptem v kódování UTF-8, tak mi to předělá tu diakritiku do té podoby, jak jsem psal, ale když to uložím jako iso-8859-2 tak je to vpořádku.
krteczek
Profil
hanz: měl sem podobný problém, utf-8 a zkracoval sem řetězce podle potřeby, ale některá slova zkrátil v půlce písmene->to sou ty nesmyslné znaky,navíc místo po 16 znacích to zkracoval už třeba po 10.
nakonec mi došlo že podpora utf-8 v php ještě není 100% takže jsem celý můj rs překodoval do iso-8859-2 a mám po problémech.
dále asi záleží i na verzi php.
krteczek
habendorf
Profil
Nevím v čem je problém, bohužel.
Sice to neřeší tvůj problém, ale jedno upozornění: nestačí opsat horní řádek klávesnice, taky máme ď, ť, ň, ů, ú, ó ....
ia
Profil *
skus este toto:

$s_diakritikou = array ('č', 'š', 'ť', ...)
$bez_diakritiky = array ('c', 's', 't', ...)

$novy_nazov = str_replace ($s_diakritikou, $bez_diakritiky, $HTTP_POST_FILES['soubor']['name']);

ze co to zrobi...

alebo potom pripadne skus proste nahradit pismena s diakritikou napriklady znakom '_', teda z 'Moře.jpg' budes mat Mo_e.jpg, takto sa to pouziva v dost vela pripadoch...
Toto téma je uzamčeno. Odpověď nelze zaslat.

0