Visualizzazione dei risultati da 1 a 9 su 9
  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2002
    Messaggi
    39

    caratteri accentati e urlencode

    Ciao a tutti, scrivo perchè ho un problema che mi sta letteralmene facendo impazzire..
    ho una pagina in Flash che invia il contenuto di un campo di testo ad una pagina php, che a sua volta inserisce i valori ricevuti su una database mysql.
    il mio problema è che i caratteri accentati vengono memorizzati sul dataase in modo strano.mi sono allora documentata ed ho scoperto l'esistenza delle funzioni escape() per flash e urlencode() per Php.
    Ecco come ho modificato le mie pagine:
    la pagina flash manda il contenuto alla pagina php facendo una encode() del campo di testo letto.
    la pagina php legge i dati e ne fa la urldecode() con questo codice:
    $descrizione = urldecode($HTTP_POST_VARS['descrizione']);
    dove 'descrizione' rappresenta una variabile contenente la stringa di testo della pagina flash precedente.

    ora il problema non si risolve, poichè la funzione urldecode() in php non mi decodifica i caratteri che gli arrivano dalla pagina flsh...
    qualcuno mi saprebbe aiutare????non riesco proprio ad uscire da questo problema...

    ciao e grazie
    manu

  2. #2
    Non ha senso fare l'URL encode su di una variabile inviata per mezzo del POST.
    Come indica lo stesso termine, la funzione ha il compito di convertire dei caratteri in modo da renderli compatibili con gli url per i browser (in che lingua ho scritto? )

    Perchè non ci fai un esempio di caratteri che trovi stravolti?
    [ DarCas The Architect ]
    [ The DarCas Of Blog ]
    Chuck Norris riesce a trovare un pagliaio dentro a un ago
    :maLOL:

  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2002
    Messaggi
    39
    ecco il codice flash in cui invio il contenuto di un campo "descrizione"
    evento = new LoadVars();
    evento.descrizione=escape( _root.descrizione );
    evento.sendAndLoad("SalvaEvento.php",evento,"POST" );

    poi nella pagina php cerco di codificare il campo inviato via post cosi':
    $des = urlencode($HTTP_POST_VARS['descrizione']);

    solo che se scrivo una lettera accentata poi dopo l'urlencode, la varibile $des ha un valore pari a
    %C3%A8...che dovrebbe corrispondere alla codifica della lettera accentata...
    se alla variabile $des attribuisco un valore pari a $HTTP_POST_VARS['descrizione'] senza la funzione urleencode mi ritrovo con caratteri del tipo è
    ....non capisco..aiuto!!

  4. #4
    [ DarCas The Architect ]
    [ The DarCas Of Blog ]
    Chuck Norris riesce a trovare un pagliaio dentro a un ago
    :maLOL:

  5. #5
    Ciao,
    fai benissimo ad applicare urlencode() perchè così richiede il protocollo, anche per il metodo POST e così richiede Flash
    http://www.macromedia.com/support/fl...l_encoding.htm

    La questione degli accenti si è presentata diverse volte nel forum ed è leggermente differente:
    Flash si aspetta i dati in formato UTF-8 e quando li invia lo fa sempre in quel formato, PHP di default utilizza lo standard ISO.

    In altri linguaggi è possibile modificare la codifica di default in cui vengono inviati i dati, in PHP non lo so, però esistono le funzioni utf8_encode() e utf8_decode()

    Quindi per inviare i dati a flash
    urlencode sui valori+utf8_encode su tutto l'output

    Quando li ricevi da flash
    utf8_decode


    Forse anche puoi modificare la codifica di default cambiando in php.ini

    default_charset = ....

    ma non sono sicuro abbia l'effetto desiderato

    Per velocizzare tutto puoi anche fare così

    ob_start('utf8_encode') ;

    //output per flash urlencodato

    ob_end_flush() ;
    per favore NIENTE PVT TECNICI da sconosciuti

  6. #6
    Originariamente inviato da Fabio Heller
    Ciao,
    fai benissimo ad applicare urlencode() perchè così richiede il protocollo, anche per il metodo POST e così richiede Flash
    http://www.macromedia.com/support/fl...l_encoding.htm
    :maLOL: :maLOL:
    Ma come accidenti fai a conoscere tutte le direttive???

    :maLOL: :maLOL:

    Ad ogni modo quella di flash proprio non la sapevo, anche perchè non è nelle miei competenze di lavorazione la programmazione in flash (si so qualcosa, ma niente di ché).

    Sei un mito Fabio Heller Guru!
    [ DarCas The Architect ]
    [ The DarCas Of Blog ]
    Chuck Norris riesce a trovare un pagliaio dentro a un ago
    :maLOL:

  7. #7
    Semplicemente ho avuto lo stesso problema e persone più preparate di me sull'argomento mi hanno fornito le indicazioni necessarie, il vero guru è il forum
    per favore NIENTE PVT TECNICI da sconosciuti

  8. #8
    Originariamente inviato da Fabio Heller
    Semplicemente ho avuto lo stesso problema e persone più preparate di me sull'argomento mi hanno fornito le indicazioni necessarie, il vero guru è il forum
    [ DarCas The Architect ]
    [ The DarCas Of Blog ]
    Chuck Norris riesce a trovare un pagliaio dentro a un ago
    :maLOL:

  9. #9
    Utente di HTML.it
    Registrato dal
    Feb 2002
    Messaggi
    39

    caratteri strani

    grazie!! ora funziona benissimo..
    ho tolto pero' dal codice flash la funzione di escape dei dati da inviare alla pagina php e in quest'ultima ho utilizzato la funzione utf8_decode della variabile inviata tramite post $HTTP_POST_VARS['descrizione']);

    ecco tutto..
    grazie mille

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.