ho un problema molto strano e non riesco a capire a cosa sia dovuto.
ho creato una funzione elementare per pulire una stringa dai caratteri accentati e sostituirli con i relativi caratteri non accentati:
codice:
function URLFriendly($field) {
$chars = array("à", "é", "é", "ì", "ò", "ù");
$replacer = array("a", "e", "e", "i", "o", "u");
$field = str_replace($chars, $replacer, $field);
return strtolower($field);
}
il problema è semplice: non sostituisce nulla.
la cosa assurda però è questa:
se io sostituisco $replacer con :
codice:
$replacer = array("K", "e", "e", "i", "o", "u");
tutte le à dovrebbero diventare K..... invece tutte le a (non accentate) diventano K e le accentate rimangono uguali....
Questo succede solo con campi prelevati da db (che ha charset latin1_swedish_ci).. se invece la stringa la inserisco 'a mano' nel codice php, la funzione sopra va.
deduco che il problema sia il charset del db o quantomeno la stringa in se... ma io la stringa a video la vedo correttamente.. nel db la vedo correttamente .... ho provato a cambiare vari charset ma non cambia nulla.. ho provato a cambiare la stringa più volte..
qualcuno ha qualche suggerimento?