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

    [mysql] codifica caratteri

    Ho cercato un po' nel forum ed ho letto le discussioni trovate, quindi il problema si è ridimensionato, però mi rimane ancora un dubbio:

    In pratica io ho un database che qualcuno prima di me è riuscito a incasinare tremendamente!
    Ho in ogni tabella 3 campi testo, di cui 7/800 righe sono in UTF8 ed altre 1000-1200 circa sono in latin1!!!!!

    Ora... Io ho provato a fare varie passate di str_replace per sostituire i caratteri "sballati" e portarmi tutto in un qualcosa di leggibile da browser, però non riesco assolutamente a venirne a capo!!

    Mi potete consigliare come venirne fuori?
    Non mi importa in quale codifica andrò a finire, basta che sia una sola e che i caratteri speciali siano tutti convertiti!
    Ah, il campo testo deve contenere anche del codice html base ([i], [b], [i]).

    Io al momento per i nuovi articoli che dovrò inserire farei così:
    il dato in input lo passo in htmlentities($_POST['dato'], ENT_QUOTES)
    Memorizzo nella tabella (che al momento ho impostato in latin1 da phpmyadmin, ma non credo che abbia convertito tutto il contenuto a uesta codifica... temo si sia limitato a interpretarlo differentemente!)
    Quando leggo passo in html_entity_decode($dato, ENT_QUOTES)

    E in una prova è andato tutto bene... Però la roba vecchia come la recupero?
    Alla fin fine che codifica mi conviene utilizzare? (non devo scrivere in klingon e nemmeno in norvegese... Semplice Italiano e forse qualche parola inglese) Perchè non vorrei che php se la prendesse a male con UTF-8

  2. #2
    Utente bannato L'avatar di Ht28
    Registrato dal
    May 2006
    Messaggi
    1,544

    Re: [mysql] codifica caratteri

    Originariamente inviato da aleritty
    Ho cercato un po' nel forum ed ho letto le discussioni trovate, quindi il problema si è ridimensionato, però mi rimane ancora un dubbio:

    In pratica io ho un database che qualcuno prima di me è riuscito a incasinare tremendamente!
    Ho in ogni tabella 3 campi testo, di cui 7/800 righe sono in UTF8 ed altre 1000-1200 circa sono in latin1!!!!!

    Ora... Io ho provato a fare varie passate di str_replace per sostituire i caratteri "sballati" e portarmi tutto in un qualcosa di leggibile da browser, però non riesco assolutamente a venirne a capo!!

    Mi potete consigliare come venirne fuori?
    Non mi importa in quale codifica andrò a finire, basta che sia una sola e che i caratteri speciali siano tutti convertiti!
    Ah, il campo testo deve contenere anche del codice html base ([i], [b], [i]).

    Io al momento per i nuovi articoli che dovrò inserire farei così:
    il dato in input lo passo in htmlentities($_POST['dato'], ENT_QUOTES)
    Memorizzo nella tabella (che al momento ho impostato in latin1 da phpmyadmin, ma non credo che abbia convertito tutto il contenuto a uesta codifica... temo si sia limitato a interpretarlo differentemente!)
    Quando leggo passo in html_entity_decode($dato, ENT_QUOTES)

    E in una prova è andato tutto bene... Però la roba vecchia come la recupero?
    Alla fin fine che codifica mi conviene utilizzare? (non devo scrivere in klingon e nemmeno in norvegese... Semplice Italiano e forse qualche parola inglese) Perchè non vorrei che php se la prendesse a male con UTF-8
    Togli UTF-8 e metti questo: charset=iso-8859-1

  3. #3
    Lo faccio, e mi rimane un sacco di caratteri sballati negli articoli che sono stati inseriti in utf-8...

    Il fatto è che devo scegliere uno dei due e poi tutti gli articoli futuri saranno inseriti in quella codifica (ora come ora ero propenso per utf-8)

    Però non posso certo andare ad editare e reinserire tutti gli articoli vecchi (ebbene si, mi basta aprirli tramite l'editor, sostituire i caratteri che non c'entrano una mazza con i caratteri che accentati o gli apostrofi ecc. ecc. e salvare... circa quei 2000 articoli!!!!!)

  4. #4
    Utente bannato L'avatar di Ht28
    Registrato dal
    May 2006
    Messaggi
    1,544
    Originariamente inviato da aleritty
    Lo faccio, e mi rimane un sacco di caratteri sballati negli articoli che sono stati inseriti in utf-8...

    Il fatto è che devo scegliere uno dei due e poi tutti gli articoli futuri saranno inseriti in quella codifica (ora come ora ero propenso per utf-8)

    Però non posso certo andare ad editare e reinserire tutti gli articoli vecchi (ebbene si, mi basta aprirli tramite l'editor, sostituire i caratteri che non c'entrano una mazza con i caratteri che accentati o gli apostrofi ecc. ecc. e salvare... circa quei 2000 articoli!!!!!)
    Se vuoi utilizzare UTF-8 devi scrivere i caratteri speciali attraverso il proprio codice, qui trovi la lista: http://riemann.unica.it/studenti/guida/caratteri.html

    Se usi quello che ti ho postato scrivi normalmente, comunque in questo caso non devi sostituire i caratteri speciali perchè verranno visualizzati correttamente lo stesso.

  5. #5
    Ok, ma il problema non è sui nuovi inserimenti... che sto facendo perfettamente e tutto ok!
    Ma è su come bonificare quelli vecchi...
    Can You See Curtains? Then Isn't Windows!

  6. #6
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027
    mi sa che è un disastro... non c'è un modo per capire quale parte di stringa è in utf8 e quale in iso.

    Sinceramente non so cosa consigliarti, credo che però i dati siano compromessi.

    Per quanto riguarda il consiglio di usare iso sono in totale disaccordo, e comunque in questo caso non aiuta.


  7. #7
    Temo anche io!
    Al momento ho tutto in utf-8, inserisco tramite php con htmlentities e leggo poi con html_entity_decode e va tutto alla perfezione.

    Speravo in una soluzione tramite uno str_replace o roba simile...
    Ma mi sa che mi farò girare tutti i vecchi articoli (basta editare i caratteri speciali).
    Can You See Curtains? Then Isn't Windows!

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.