• User Attivo

    Apostrofi passati da form in pagina UTF-8

    Salve a tutti,
    so che la questione della gestione degli apostrofi è stata dibattuta spesso ma ho un problema che proprio non riesco a risolvere..

    Ho un sito in PHP in cui servo le pagine in UTF-8 e in cui gli utenti possono inviare loro testi, quindi spesso si tratta di copia/incolla di testi provenienti da programmi di videoscrittura come Word. Questi testi contengono gran parte delle volte apostrofi "speciali", diversi dal classico apostrofo dritto presente sulla tastiera. Tanto per fare un'esempio, spesso al posto di "quell'albero" trovo "quell?albero".
    Vorrei trovare il modo di convertire questi apostrofi speciali nel tradizionale apostrofo dritto.

    Ho provato con un codice del tipo codice:
    [PHP]<? header("Content-type:text/html;charset=utf-8"); ?>
    ...
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    ...
    <?
    $input1="quell?albero";
    $input1= str_replace("?", "'", $input1);
    $input2= str_replace("?", "'", $input2);
    echo $input1.'<br />'.$input2
    ?>
    <form action="pagina.php">
    <input type="text" name="input2" /><input type="submit" />
    </form>[/PHP]

    Il risultato è che la sostituzione avviene correttamente per $input1 (il cui valore iniziale è definito direttamente nel codice), mentre non avviene per $input2 (il cui valore è passato dal form).
    Immagino si tratti di un problema di codifica dei caratteri... come posso porvi rimedio?

    Grazie mille.