Visualizzazione dei risultati da 1 a 4 su 4

Discussione: Problema utf8/latin1

  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2007
    Messaggi
    157

    Problema utf8/latin1

    Salve a tutti.
    Sto lavorando su un sito plurilingua: inglese tedesco ed italiano.

    I campi del db che contengono i testi sono tutti utf-8, sull'intestazione della pagina html del sito 'è il charset utf-8, nel backoffice (ovvero dove c'è il form che popola la tabella dei testi) è presente anche il il charset utf-8. Tutto vabene in quanto inserisco i testi nel mio backoffice e poi li rivedo nel sito correttamente, se non chè se apro il db con phpmyadmin vedo i testi con i caratteri soeciali non correttamente interpretati.
    Ad esempio, se vado a fare un esportazione del db in csv, i testi che online mi si vedono correttamente nel csv non mantengono i caratteri speciali con la giusta interpretazione ovvero vengono sostituiti con tutt'altro (tipo punti interrogativi e altra robaccia).

    Il problema principale è quindi quello di riuscire ad esportare un file correttamente mantenendo le è ò à ù ecc... eccc.. visualizzate correttamente.

    sapete aiutarmi?
    viva il web.

  2. #2
    Utente di HTML.it
    Registrato dal
    Jan 2011
    Messaggi
    1,469
    da quanto capisco è mysql: per mysqldump devi usare --default-character-set=latin1 \ ... quello che vuoi

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2007
    Messaggi
    157
    da quanto capisco è mysql: per mysqldump devi usare --default-character-set=latin1 \ ... quello che vuoi
    ma scusa.. ma se metto latin1 i dati che mi servono per visualizzare i caratteri che latin 1 non contiene non vengono persi?
    viva il web.

  4. #4
    Utente di HTML.it
    Registrato dal
    Jan 2011
    Messaggi
    1,469
    Originariamente inviato da MauMTS1000
    ma scusa.. ma se metto latin1 i dati che mi servono per visualizzare i caratteri che latin 1 non contiene non vengono persi?
    certo che vanno persi, o forse no.

    Devi seguire la logica, ci sono 3 impostazioni principali di character set

    1) predefinito nel client [questo ti può dare problemi in fase di visualizzazione, probabilmente è questo il motivo per cui phpmyadmin paciuga]
    2) predefinito nel server [e qui puoi averne diversi a seconda della versione]
    3) della singola tabella

    Se la tabella è X (X utf8, latin1, supercippa o quello che vuoi), devi dumparla col default-character-set=X, se in seguito vuoi ripristinarla correttamente con accentate e tutto quanto.

    Poi, quando la vuoi ripristinare, devi verificare che se la tabella esiste già (e quindi fai solo le insert perchè manca il drop table blablabla) abbia il medesimo character set (in realtà ci sarebbe pure il discorso collation, ma è meno significativo)

    Attenzione poi alla versione che usi: mysqldump "vecchio" (fino a 5) usa latin1, da 5.1 utf8 come impostazione predefinita.

    Ma l'uomo saggio imposta a manina, per evitare brutte sorprese

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.