Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    Apostrofi passati da form in pagina UTF-8

    Salve a tutti,
    so che la questione della gestione degli apostrofi è stata dibattuta spesso (io stesso avevo chiesto la stessa cosa anni fa qui sul forum) 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:
    <? 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.'
    '.$input2
    ?>
    <form action="pagina.php">
    <input type="text" name="input2" /><input type="submit" />
    </form>
    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.

  2. #2
    Nel tuo esempio non vedo inizializzata la variabbile $input2

  3. #3
    Scusami dragon88, non capisco il senso di usare htmlspecialchars... Io voglio sostituire gli apostrofi speciali di Word con l'apostrofo classico dritto, quindi una sostituzione è necessaria.

    In ogni caso, utilizzando un codice del tipo
    codice:
    $input1="quell’albero";
    echo htmlspecialchars ($input1).'
    '. htmlspecialchars ($input2)
    mi viene mostrata la prima stringa con il simbolo di carattere non codificato, mentra la seconda stringa appare esattamente come la inserisco nel form ("quell’albero").

  4. #4
    Scusate se riprendo il thread... nessuno ha qualche suggerimento da darmi?

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.