Pagina 4 di 4 primaprima ... 2 3 4
Visualizzazione dei risultati da 31 a 37 su 37
  1. #31
    Originariamente inviato da Cerebro
    Per completezza ti dico, quel meta tag istruisce il browser su che charset settare la pagina. Quindi ha valore se stampi i caratteri nudi e crudi, a browser. Potresti anche stampare le relative html entities (à > à ) con htmlentities() e a quel punto funzionerebbe sempre a prescindere dall'header utf-8, che comunque è sempre bene specificare. Dovresti però poi specificare 'UTF-8' come terzo paramentro di htmlentities().
    Sempre ignorante io !
    In effetti devo far vedere i caratteri come sono nel database perchè inseriti con codici ASCII esempio Alt+225 = ß altro esempio Alt+138 = è
    Dove stampare le relative html entities con htmlentities() ?
    Dove specificare 'UTF-8' come terzo parametro di htmlentities() ?

  2. #32
    devi anche metterlo set names utf8!

    non ti funziona più niente per il semplice motivo che i dati presenti nel database NON SONO utf8 e quindi si impasta tutto
    The fastest Redis alternative ... cachegrand! https://github.com/danielealbano/cachegrand

  3. #33
    Utente di HTML.it L'avatar di Cerebro
    Registrato dal
    Jan 2005
    Messaggi
    193
    Originariamente inviato da lupusonline
    Sempre ignorante io !
    In effetti devo far vedere i caratteri come sono nel database perchè inseriti con codici ASCII esempio Alt+225 = ß altro esempio Alt+138 = è
    Dove stampare le relative html entities con htmlentities() ?
    Dove specificare 'UTF-8' come terzo parametro di htmlentities() ?
    Per html entities intendevo, ma è stato giustamente interpretato à > & grave ;

    " Dove stampare le relative html entities con htmlentities() ? "

    ? chiaramente nelle istruzioni PHP che fanon echo / print dei dati. Ma da quel poco che ho capito, stai usando un applicativo, non lo stai scrivendo tu stesso, quindi non sai dove ciò accade e quindi dove mettere le mani, lascia stare.

    " Dove specificare 'UTF-8' come terzo parametro di htmlentities() ? "

    Vedi sopra. Sarebbe una cosa tipo:

    echo htmlentities($text, ENT_NOQUOTES, 'UTF-8');

  4. #34
    Originariamente inviato da Cerebro
    Per html entities intendevo, ma è stato giustamente interpretato à > & grave ;

    " Dove stampare le relative html entities con htmlentities() ? "

    ? chiaramente nelle istruzioni PHP che fanon echo / print dei dati. Ma da quel poco che ho capito, stai usando un applicativo, non lo stai scrivendo tu stesso, quindi non sai dove ciò accade e quindi dove mettere le mani, lascia stare.

    " Dove specificare 'UTF-8' come terzo parametro di htmlentities() ? "

    Vedi sopra. Sarebbe una cosa tipo:

    echo htmlentities($text, ENT_NOQUOTES, 'UTF-8');
    Tutti i files li ho creati in oltre 10 anni passando da ASP a PHP
    per poter utilizzare MySQL invece di SQL (troppo oneroso per i costi imposti per il suo utilizzo)
    Purtroppo i cambi di versione di PHP dalla 2 ad arrivare alla versione 5 impongono
    l'utilizzo esatto delle procedure e da qui i miei ultimi problemi non avendo valutato a suao tempo l'opportunità di cambiare provider, mentre in USA queste procedure le fanno automaticamente mettendo il cliente in condizione di poter lavora. O in USA sono dei maghi o in Italia siamo un po' indietro e vogliamo lavorare con le ultimissime novità obbligando tutti a fare i salti mortali per gli adeguamenti, dimenticando le difficoltà degli altri per lavorare il meno possibile con procedure e software il piú possibile simili allo standard .
    Scusami per lo sfogo, ma da oltre una settimana ci sto lavorando e non poco per risolvere le prolematiche.

    Conosco al 100% tutti miei files solo che non ho pura esperienza di programmazione ed ho fatto tutto da autodidatta.
    Se mi dici quindi di inserire htmlentities($text, ENT_NOQUOTES, 'UTF-8')
    significa che devo intervenire su tutte le variabili che necessitano di far vedere i caratteri di cui stiamo parlando o sbaglio ?
    Quindi al posto di $test ci saranno le mie variabili.
    Adesso provo.

  5. #35
    Utente di HTML.it L'avatar di Cerebro
    Registrato dal
    Jan 2005
    Messaggi
    193
    Anzitutto devi essere sicuro che i dati nel db siano in utf-8. Se come dice daniele è probabile che siano sputtanati, è inutile cercare di rattoppare nelle fasi successive di prelievo e stampa finale a browser.

    Prova ed esportare una tabella in un dump testuale ( tipo tabella.sql ) e poi visualizza questo dump in un editor di testo "avanzato", tipo ultraedit, editplus. Io uso Editplus ed in basso a destra mi dice l'encoding del file (ANSI o UTF-8). Se l'enconding è UTF-8 e visualizzi i caratteri correttamente (àòìùè) allora puoi procedere e sei sicuro che i dati nel db siano a posto.

    Una volta che ti sei assicurato di questo, procedi all'applicazione PHP.

    la query mysql_query("set names 'utf8'") dopo la connessione per me devi usarla per forza. Io se non la uso non visualizzo i caratteri accentati.

    Una volta che hai prelevato i caratteri dal db, QUANDO li stampi a video (sai te dove questo avviene nel codice) usi, ma puoi anche evitare al limite, la funzione htmlentities() che sostituisce ai caratteri accentati, etc, le reletavie entità html (puro ascii). Ma come ti ho detto questa cosa al limite puoi anche risparmiartela se hai inviato l'header content type charset utf-8.

    E se non sai cosa fa una funzione, usa il manuale php, lo scarichi gratis dal sito php.net, formato chm, molto comodo. Vai su "indice", metti htmlentities, ti dice a cosa serve, con qualche esempio.

  6. #36
    Ho provato ad inserire una delle mie variabili in
    htmlentities($text, ENT_NOQUOTES, 'UTF-8');
    al posto di $text
    Ecco il risultato :
    Nulla è cambiato per i caratteri tedeschi che vedo esattamente come nel database
    E' cambiato l'apostrofo che ho inserito quando mi sono collegato al database dove l'ho inserito modificando alcuni dati nei vari campi delle tabelle.
    E' proprio l'apostrofo che mi crea i problemi in fase di importazione dati a mezzo querry
    e quindi lo devo eliminare dalle querry perchè viene considerato come salto di un campo
    Lo vado poi a reinserire direttamente all'interno del database.

    L'apostrofo ' con le ultime istruzioni di cui sopra viene visualizzato in codice ASCII o HTML DECIMALE (che per puro caso hanno la stessa codifica) '
    Quindi opto per non usare : htmlentities($text, ENT_NOQUOTES, 'UTF-8');
    ma
    utf8_encode($variabile"])
    con
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    visto che per il mio caso funzionano.
    Mi hanno sempre detto che quando una cosa funziona è meglio lasciarla com'è e ci si complica meno la vita !!!
    Grazie per la Vostra pazienza e collaborazione.

  7. #37
    Originariamente inviato da lupusonline
    Specifico meglio che ho optato nel non usare :
    htmlentities($text, ENT_NOQUOTES, 'UTF-8');
    ma solo
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    e la sola variabile $text senza davanti utf8_encode
    Da me funziona cosí, forse perchè come non molti ho inserito sempre nelle mie tabelle i caratteri extra italiani ad eccezzione di à è ó ú í con i caratteri ASCII e non i codici HTML DECIMALI (cosa non comune perchè normalmente tutti usano i caratteri della tastiera).
    Grazie per la Vostra pazienza e collaborazione.

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.