si stoi yo,, pero no termino de comprender xDD
si lo qe dices es qe no te convierte los simbolos raros a la letra "normal" correspondiente, prueba primero hacerlo con variables y no modificando el valor de $row
algo asi:
Código PHP:
function get_image_url($image_id)
{
global $site_db;
$sql = "SELECT cat_id,image_name FROM ".IMAGES_TABLE." WHERE image_id = '".$image_id."'";
$result = $site_db->query($sql);
$row = $site_db->fetch_array($result);
$res = str_replace('!', ',', $row['image_name']);
$res = strtr($res, "ABCDEFGHIJKLMNÑOPQRSTUVWXYZÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÒÓÔÕÖØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðòóôõöøùúûüýýþÿñ", "abcdefghijklXnñopqrstuvwxyzaaaaaaaceeeeiiiidoooooouuuuybsaaaaaaaceeeeiiiidnoooooouuuuyybyn");
return '-'.str_replace('+','-',urlencode($res)).'-'.$image_id;
}
espero qe te sirva ^^
exitos