Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1

    htmlentities non funziona con à è ì ò ù

    Ciao a tutti,
    sto costruendo un applicazione che carica dati da un database e poi li mostra a video... fino qui nulla di strano.
    quando carico delle stringhe dal database, vorrei, prima di stampare le stringhe nella pagina, sostituire i caratteri speciali come à è ì ò ù ecc nel formato html à é ecc... ho visto che la funzione htmlentities() svolge proprio quel lavoro, ma da me si comporta in modo strano ovvero:

    echo htmlentities("aè"); //stampa nel documento html aŽ invece di aé

    qualcuno mi sa dire come mai? sto impazzendo

    grazie

    PS: ho provato a fare print_r (get_html_translation_table(HTML_ENTITIES)); per vedere se la tabella fosse a posto, e quella è ok...

  2. #2
    Cristiano
    ---
    Originariamente inviato da rebelia : solo un nerd puo' pensare di tacchinare in un forum di informatica

  3. #3
    olè

    echo htmlspecialchars("aè"); //stampa lo stesso aŽ



  4. #4
    Premesso che a me non si vedono gli schifi. (con specialcharts)...
    Codice PHP:
    function tilde($to) {
        
    $return .= str_replace('à''à'$to);
        
    $return .= str_replace('è''è'$to);
        
    $return .= str_replace('ì''ì'$to);
        
    $return .= str_replace('ò''ò'$to);
        
    $return .= str_replace('ù''ù'$to);
    return 
    $return;

    PS: gli schifi dipendono dal browser
    Cristiano
    ---
    Originariamente inviato da rebelia : solo un nerd puo' pensare di tacchinare in un forum di informatica

  5. #5
    in che senso dipendono dal browser? sia su safari che su firefox mi viene fuori la Z con il cappelletto sopra....

    quello che volevo evitare era fare una funzione come la tua visto che diventa lunga (perchè vorrei che funzionasse per tutti i caratteri) e visto che c'è già tutto fatto...

  6. #6
    Io stò su firefox 3... e se uso specialcharts non mi si vedono gli chifi (però vedendo il sorgente restano à ed è)
    Cristiano
    ---
    Originariamente inviato da rebelia : solo un nerd puo' pensare di tacchinare in un forum di informatica

  7. #7
    ho provato a spostarmi su windows e su quello funziona...

    su mac invece ho questo problema... che sia la tastiera che funziona in unicode? in ogni caso non va nemmeno usando utf8_decode...

  8. #8
    Risolto: il problema non era di php ma dell'editor di testo che scriveva in unicode e non in latin

  9. #9
    se posso darti un consiglio... dovresti lavorare sugli unicode e non sui latin...

    quando imposti la connessione al db ti consiglio di fare questa query

    Codice PHP:
    @mysql_query("SET NAMES 'utf8'"); 
    e poi magari anche
    Codice PHP:
    @mysql_query("SET CHARACTER SET 'utf8'");
    @
    mysql_query("SET COLLATE 'utf8_general_ci'"); 

    nell'html, invece, nella head devi avere

    Codice PHP:
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"

    ciauu

  10. #10
    grazie per la risposta... cercherò di mettere in pratica il suggerimento

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.