Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it L'avatar di Koji84
    Registrato dal
    Sep 2006
    Messaggi
    31

    Ajax: decodifica caratteri

    buon giorno a tutti.
    prima di postare ho provato a fare numerose ricerche, ma o non ho cercato bene o il problema non è molto comune.

    ho fatto uno script in JS che invia in modo asincrono (con POST) i dati a un php.
    per codificare i dati in js uso encodeURIComponent e per decodificarli in php uso utf8_decode.

    fino a qui tutto bene, mi sembrava funzionare, poi però al primo test con un po' di persone qualcuno copia e incolla un testo con alcuni caratteri...un po' strani e qui nascono i problemi.

    i caratteri incriminati sono ’ “ ” e probabilmente c'è ne saranno anche altri, a prima vista sembrano gli apici normali...ma in realtà non lo sono.
    c'è un modo per far in modo che vengano interpretati tutti i caratteri, anche questi? o una codifica migliore?

    vi ringrazio per avermi letto.

  2. #2
    Potresti provare a convertirli in entità html nel php che processa la stringa con htmlentities, però non garantisco, non sempre php digerisce i caratteri "apostrofi".
    In alterrnativa fai un str_replace("carattere_incriminato","entità_html", $stringa).

    ciao ciao!

  3. #3

    Re: Ajax: decodifica caratteri

    Originariamente inviato da Koji84
    buon giorno a tutti.
    prima di postare ho provato a fare numerose ricerche, ma o non ho cercato bene o il problema non è molto comune.

    ho fatto uno script in JS che invia in modo asincrono (con POST) i dati a un php.
    per codificare i dati in js uso encodeURIComponent e per decodificarli in php uso utf8_decode.
    I dati nel Db hanno una codifica diversa da utf-8 ?
    Leggiti questo thread.


    Without faith, nothing is possible. With it, nothing is impossible
    http://ilwebdifabio.it

  4. #4
    Utente di HTML.it L'avatar di Koji84
    Registrato dal
    Sep 2006
    Messaggi
    31

    Re: Re: Ajax: decodifica caratteri

    Originariamente inviato da whisher
    I dati nel Db hanno una codifica diversa da utf-8 ?
    hai ragione, il problema è nel DB, ho provato a fare una pagina che passi i valori senza usare il db (giusto per verificare) e funziona.
    ora non ho idea dove sbagli nel passare la stringa al DB , ma se non altro ho localizzato l'errore.

    grazie

  5. #5
    Se è un problema di codifica anzitutto verifica che la codifica del db corrisponda a quella indicata nei meta tag della pagina in cui inserisci i dati:
    codice:
    <meta http-equiv="Content-Type" content="text/html; charset=..." />
    Se il charset non corrisponde i caratteri speciali non vengono presi. Solitamente è meglio usare utf-8 x andare sul sicuro, ma molto spesso x i siti italiani si usa iso-8859-1

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