Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2005
    Messaggi
    209

    [FlCS3]caratteri speciali e LoadVars

    Ciao, vorrei sapere se qualcuno può aiutarmi a risolvere il problema dei caratteri speciali che inchiodano la lettura di LoadVars.

    La variabile passata è una stringa JSON fatta con la funzione PHP json_encode() e decodificata con una classe che ho trovato in giro.

  2. #2
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    flash non accetta una stringa JSON in LoadVars, ma solo una "querystring" generalmente composta così

    &nome_variabile= contenuto della variabile&

  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2005
    Messaggi
    209
    certamente, è possibile solo passare querystring al limite serializzate, ma se si evita il carattere "&" è possibile comporre un passaggio di variabili in stile JSON a patto di avere il deJSONizzatore in flash (eventualmente come classe esterna) per dire:

    libri={{"titolo":"Le mie prigioni","autore":"S. Pellico"},{"titolo":"I promessi sposi","autore":"A. Manzoni"}}&ciccio=ciao

    è sia una querystring valida che una stringa JSON libri che una variabile standard ciccio.
    Poi per riconvertire la stringa in Object:

    import JSON;
    ...
    loadvars.onLoad=function(s){
    if(s){
    json=new JSON();
    this.libri=json.parse(this.libri);
    }
    };
    loadvars.load('pagina.php');

    e tutto funziona alla meraviglia, a meno che non ci siano delle entities che contengono il carattere "&" e il carattere non-entities ad esemprio è, flash non lo accoglie tanto spontaneamente, a meno che non esista il modo di impostare un charset in flash

  4. #4
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    ah, ok... sì in effetti ho travisato il tuo primo post... pensavo che volessi proprio passare un JSON così com'era

    per quanto riguarda la tua perplessità, penso che potrebbe venirti incontro la funzione di php urlencode() per trasformare i caratteri "speciali" in codifica come da tabella a questo link -> http://kb.adobe.com/selfservice/view...4143&sliceId=2

  5. #5
    Utente di HTML.it
    Registrato dal
    Feb 2005
    Messaggi
    209
    Grazie!
    Per passare in maniera corretta stringhe json con loadvars da PHP occorre fare questi procedimenti:

    echo 'valore='.jsonencode(urlencode(html_entity_decode( $stringa)));

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.