Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it L'avatar di VaLvOnAuTa
    Registrato dal
    Jun 2002
    Messaggi
    2,003

    Caratteri accentati in una select

    Tramite AJAX aggiorno dinamicamente le opzioni di una select.
    Praticamente uno script php crea del codice javascript per popolare una select. Il codice generato lo do in pasto ad una funzione js eval().
    Ora succede che se nel codice javascript generato dallo script php ci sono caratteri accentati, ad esempio
    codice:
    objSelect.options[1] = new Option('attività','2');
    il browser mi segnala errore.
    Ho provato a trasformare i caratteri accentati in caratteri speciali html e non mi dà problemi, però, ovviamente, nella select mi troverò "&agrave ;" anzichè à.
    C'è un modo per ovviare a questo?

  2. #2
    Utente di HTML.it L'avatar di willybit
    Registrato dal
    May 2001
    Messaggi
    4,367
    Ciao VaLvOnAuTa,

    le lettere accentate danno questi problemi... caricate con tecnologie tipo ajax vengono trasformate in punti di domanda e si mangiano il carattere successivo... praticamente da
    codice:
    Option('attività','2');
    ottieni
    codice:
    Option('attivit?,'2');
    per risolvere devi fare l'encode dei caratteri speciali, in php io non ricordo come si fa, però il risultato deve essere
    codice:
    Option('attività','2');

  3. #3
    Utente di HTML.it L'avatar di VaLvOnAuTa
    Registrato dal
    Jun 2002
    Messaggi
    2,003
    Sì infatti è quello che faccio ma il risultato non è esaltante, dato che mi trovo
    codice:
    Option('attivit&agrave ;','2');


    Comunque ho risulto sostituendo i caratteri accentati con i caratteri normali à => a.
    Non è proprio la soluzione ottimale, ma sempre meglio di nulla.
    Grazie

  4. #4
    Utente di HTML.it L'avatar di willybit
    Registrato dal
    May 2001
    Messaggi
    4,367
    se carichi una stringa come questa
    codice:
    Option('attività','2');
    dovresti ottenere
    codice:
    Option('attività','2');
    sei sicuro di non fare l'encode della stringa à?

  5. #5
    Utente di HTML.it L'avatar di VaLvOnAuTa
    Registrato dal
    Jun 2002
    Messaggi
    2,003
    Originariamente inviato da willybit
    se carichi una stringa come questa
    codice:
    Option('attività','2');
    dovresti ottenere
    codice:
    Option('attività','2');
    sei sicuro di non fare l'encode della stringa à?
    Il problema è che la funzione mandata in pasto ad eval() la legge come attivit&agrave ; e quindi nella select mi ritrovo il carattere non ricodificato.

  6. #6
    secondo me è un problema di quello che restituisce l'oggetto XMLRequest, che non codifica correttamente il charset.

    Ho provato ad impostarlo con i metodi

    codice:
    .setRequestHeader ('Content-Type', 'text/html');
    .setRequestHeader ('character-set', 'iso-8859-1');
    ma nulla da fare. secondo me sono vicino, ma manca qualcosa
    Riccardo

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.