Visualizzazione dei risultati da 1 a 7 su 7
  1. #1

    Codifica caratteri, o come perdersi in un bicchiere d'acqua

    Ciao a tutti,
    Sto cercando di fare una conversione di prova con un semplice htmlentities e la cosa si sta complicando, ovvero, non mi funziona.
    Il codice:

    codice:
    echo (htmlentities("á é í ú ñ  ' ' < >", ENT_QUOTES, 'UTF-8'));
    Risultato: á é í ú ñ ' ' < >

    Non c'è codifica, ho provato in locale e anche sul server. E provato con htmlspecialchars.
    La pagina é charset=UTF-8.

    Idee?
    Grazie

  2. #2
    Quote Originariamente inviata da gattofurbo Visualizza il messaggio
    Ciao a tutti,
    Sto cercando di fare una conversione di prova con un semplice htmlentities e la cosa si sta complicando, ovvero, non mi funziona.
    Il codice:

    codice:
    echo (htmlentities("á é í ú ñ  ' ' < >", ENT_QUOTES, 'UTF-8'));
    Risultato: á é í ú ñ ' ' < >

    Non c'è codifica, ho provato in locale e anche sul server. E provato con htmlspecialchars.
    La pagina é charset=UTF-8.

    Idee?
    Grazie
    Prima di tutto, perche' vuoi convertire i caratteri se gia' usi utf8?

  3. #3
    Perche prelevo una stringa dal DB, dove è stata inserita con codifica UTF8, ma ci sono simboli che non sono stati codificati:
    Esempio (è in spagnolo): D&iacute;az anuncia que “Andaluc&iacute;a”
    Come puoi vedere i “ ” non sono stati codificati.
    Quindi sto cercando di fare la codificazione corretta e riscriverla sul DB

    Grazie

  4. #4
    Utente di HTML.it L'avatar di .Kurt
    Registrato dal
    Jul 2007
    Messaggi
    654
    Ci confondi se parli di codifica di caratteri e poi fai riferimento a htmlentities, che opera una sostituzione con le entità html. Sono due cose ben distinte.
    Il tuo database deve contenere informazioni. Se tali informazioni riguardano un testo si può decidere con quale codifica di caratteri conviene memorizzarli (cerca su internet cos'è l'encoding). Ma memorizzare un testo come insieme di entità html non significa "fare una codificazione corretta del testo", tutt'altro. Vincoli quelle informazioni ad un solo utilizzo. E' uno spreco di spazio. E' un errore logico. Rappresenti le tue informazioni in un modo tale che sia utilizzabile solo in un unico contesto: l'html. Se volessi poi inviare tramite email queste informazioni ti dovrai ricordare di come quando le hai salvate nel database le hai trasformate in entità html, quindi dovrai fare l'operazione inversa prima di inviarle via email.

    In breve, quello che devi fare è il contrario di quello che stai facendo. Non ti devi preoccupare che la tua stringa D&iacute;az anuncia que “Andaluc&iacute;a” non abbia le “ ” sotto forma di entità html, ti devi preoccupare che hai salvato &iacute;&iacute; ,delle entità html, nel tuo database.

  5. #5
    La stringa originale Díaz ... Andalucía la salvo nel DB, dopo averla filtrata con htmlentities, come D&iacute;az ... “Andaluc&iacute;a”. Pero cuando la richiamo nella pagina al posto delle vedo simboli .
    La leggo dal DB e la stampo, con o senza,
    html_entity_decode pero il risultato è lo stesso.


  6. #6
    Quote Originariamente inviata da gattofurbo Visualizza il messaggio
    La stringa originale Díaz ... Andalucía la salvo nel DB, dopo averla filtrata con htmlentities, come Díaz ... “Andalucía”. Pero cuando la richiamo nella pagina al posto delle vedo simboli .
    La leggo dal DB e la stampo, con o senza,
    html_entity_decode pero il risultato è lo stesso.
    Quello che ti sta dicendo Kurt e' che NON DEVI salvare le entita' HTML nel database, le entita' HTML hanno senso solo... in pagine HTML.

    Il motivo per cui le virgolette appaiono come caratteri strani probabilmente dipende dal fatto che la tabella in cui salvi i dati non e' impostata come utf-8, oppure non lo e' la connessione al db. Leggi questo post per maggior informazioni: http://forum.html.it/forum/showthrea...readid=2901187

  7. #7
    Ho messo mysql_query("set names 'utf8'") e funziona.
    Lo dicevo che mi sono perso in un bicchiere d'acqua...
    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 © 2025 vBulletin Solutions, Inc. All rights reserved.