Mam formularz którym wrzucam zdjęcia na stronę (w skrocie):
CODE
...<meta http-equiv="Content-Type" content="text/html; charset=utf-8">...
<form action="index.php?d=galeria&s=add" method="post" enctype="multipart/form-data" name="dodajZdj">
Zdjecie <input type="file" name="zdj" onchange="java script:document.dodajZdj.submit()" />
Opis <input type="text" maxlength="255" name="opis" />
<input type="submit" value="dodaj" name="addZdj" />
</form>
<form action="index.php?d=galeria&s=add" method="post" enctype="multipart/form-data" name="dodajZdj">
Zdjecie <input type="file" name="zdj" onchange="java script:document.dodajZdj.submit()" />
Opis <input type="text" maxlength="255" name="opis" />
<input type="submit" value="dodaj" name="addZdj" />
</form>
oraz funkcję:
CODE
<?php
function changeTitle($url)
{
$url = strip_tags(html_entity_decode($url));
$url = str_replace("'", '', iconv('utf-8', 'ascii//translit', $url));
$url = preg_replace('/[^a-zA-Z0-9-_]/', '-', $url);
$url = preg_replace('/\-+/', '-', $url);
$url = trim($url, '-');
return strtolower($url);
}
$n_zdjecia = changeTitle($_POST['opis']);
?>
function changeTitle($url)
{
$url = strip_tags(html_entity_decode($url));
$url = str_replace("'", '', iconv('utf-8', 'ascii//translit', $url));
$url = preg_replace('/[^a-zA-Z0-9-_]/', '-', $url);
$url = preg_replace('/\-+/', '-', $url);
$url = trim($url, '-');
return strtolower($url);
}
$n_zdjecia = changeTitle($_POST['opis']);
?>
Zmieniamy nazwe zdjecia na $n_zdjecia.'.jpg'.
Problem polega na tym, ze gdy skrypt odpalam na localhoscie funkcja zwraca mi takie cos:
'piękne zdjęcie' -> 'piekne-zdjecie'
Lecz gdy wrzuce skrypt na serwer zamienia tak:
'piękne zdjęcie' -> 'pi-kne-zdj-cie'
W czym może tkwić porblem? Ustawienia serwera, czy niedopatrzenie?
doszedłem do tego że iconv() na localhoscie zamienia ąę... na: ae, a na serwerze na:

Dlaczego?