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

    [php,mysql] anomalia lettere accentate

    salve a tutti... sto sbattendo la testa su questo problema....
    Ho due pagine che prendendo in input una frase la inseriscono in un db, una cosa molto banale, i due script trattano la stringa allo stesso modo, uno importa da form e l'altro da flusso dati nel cambio pagina tramite ajax...
    nel primo script l'inserimento è ok, nel db i dati vengono inseriti correttamente e la relativa visualizzazione è ok. Il secondo ha lo stesso codice, l'unica differenza è che prende la stringa in input invece che con $_POST con $_REQUEST, però quando inserisce caratteri accentati nel db a differenza del primo script (che come ho già detto funziona perfettamente) nel db vengono inseriti in malo modo, per esempio è diventa à e così via insomma... Per quale motivo? la differenza con cui ricavo la stringa in input perchè crea questo casino?!?
    Le tabelle relative alla prima pagina e alla seconda hanno gli stessi settaggi naturalmente per il campo in questione...

    grasssssieeee

  2. #2
    dopo la connessione al db metti questo:
    Codice PHP:
    mysql_query("SET NAMES 'utf8';"); 
    io ho risolto così...

  3. #3
    Originariamente inviato da zampi91
    dopo la connessione al db metti questo:
    Codice PHP:
    mysql_query("SET NAMES 'utf8';"); 
    io ho risolto così...
    no, niente... ma possibile che prender i dati con request al posto di post faccia questo casino?!?

  4. #4

  5. #5

  6. #6
    facendo una echo del testo si visualizza perfettamente, accenti compresi, quando inserisci nel db poi nel campo di testo le lettere accentante si incasinano...

  7. #7
    Utente di HTML.it L'avatar di luca200
    Registrato dal
    Apr 2002
    Messaggi
    4,120
    Originariamente inviato da francylosvitato
    no, niente... ma possibile che prender i dati con request al posto di post faccia questo casino?!?
    Assolutamente no.
    Ma non ho capito quali sono le altre differenze fra i due script

  8. #8
    Originariamente inviato da luca200
    Assolutamente no.
    Ma non ho capito quali sono le altre differenze fra i due script
    il primo script prende delle frasi in input, le inserisce nel db e tutto funziona, posto il codice
    Codice PHP:
    $testo=$_POST['testo'];
    $testo=addslashes($testo);

    ...

    $query="INSERT INTO gf_frasi (frs_kautore, frs_testo, frs_data, frs_homepage, frs_trad,frs_click,frs_inviata, frs_info) VALUES('".$kautore."','".$testo."','".$data."','".$homepage."','".$trad."',0,0,'".$inf."')"
    il secondo script riceve dati da un form, delle proposte di frasi appunto, posto il pezzo di codice in questione

    Codice PHP:
    $testoltrim(rtrim(strip_tags(stripslashes$_POST['frase']))));
    $testo=addslashes($testo);

    ...

    $sql="INSERT INTO proposte (prop_ip, prop_nome, prop_email, prop_autore, prop_frase, prop_data) VALUES('".$ip."','".$name."','".$email."','".$autore."','".$testo."','".$data."')"

    le tabelle hanno i stessi settaggi per il campo testo. Nel secondo script (quello che non funziona per intenderci) se faccio un echo della variabile prima di inserire nel database viene visualizzata corretamente (accenti compresi), nel database la ritrovo con gli accenti non corretti...

  9. #9

  10. #10
    Utente di HTML.it
    Registrato dal
    Jun 2009
    Messaggi
    119
    Prova a impostare le tabelle mysql in 'utf8_general_ci'.

    Poi imposta le 2 pagine (sia quella input che quella dove viene mostrato l'output) come charset utf8.

    A questo punto effettua una prova, non vale infatti per i dati già inseriti.

    Ciao
    " Write. Less. Code. "
    ---------------------------------------
    Hotel Booking Software

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 © 2025 vBulletin Solutions, Inc. All rights reserved.