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

    Da Mysql 4 a 5, problemi di charset

    Premetto che di tutti gli impicci di charset di mysql non ci ho mai capito niente...

    una settimana fa ho trasferito un po' di cose (un phpBB e uno script fatto da me) che giravano su mysql4, su un server su cui gira mysql5.. et voilą.. le lettere accentate sono tutte sballate...

    La collation č latin1_swedish_ci

    C'aggio a fa?

  2. #2

    Re: Da Mysql 4 a 5, problemi di charset

    Originariamente inviato da }gu|do[z]{®©
    Premetto che di tutti gli impicci di charset di mysql non ci ho mai capito niente...

    una settimana fa ho trasferito un po' di cose (un phpBB e uno script fatto da me) che giravano su mysql4, su un server su cui gira mysql5.. et voilą.. le lettere accentate sono tutte sballate...

    La collation č latin1_swedish_ci

    C'aggio a fa?
    pregare e digiunare.

    se hai salvato il backup con il charater set latin1 (parliamo della connessione) dovrai ripristinarla allo stessi modo. Insomma, dipende dal tipo di charset della connessione e le versioni di phpmyadmin hanno un comportamento diverso a seconda delle versioni (di phpmyadmin) usate.

    Il silenzio č spesso la cosa migliore. Pensa ... č gratis.

  3. #3
    che bella notizia..

    dunque.. in un caso (un phpbb) ho esportato da phpmyadmin (2.10.1) e importato da shell... il problema č che non posso ripristinare il db riesportando con un altro charset perchč nel frattempo nel db sono stati inseriti record (quando ho trasferito andavo di fretta perchč dovevo partire, e ho pensato che avrei sistemato dopo )

    non posso recuperare in nessun modo? :master:

    ma perchč mysql sta facendo tanti casini con i charset ultimamente?!?!

  4. #4
    Originariamente inviato da }gu|do[z]{®©
    che bella notizia..
    ma perchč mysql sta facendo tanti casini con i charset ultimamente?!?!
    guarda che non e' mica mysql. E' phpmyadmin che fa casino. A partire da una certa versione ha sposato per la connessione il charset utf8. E fin qui tutto bene, solo che le versioni precedenti a queste nozze, usavano latin1. Ora la nuova e' in grado di importare qualunque file scritto con qualunque charset, ma esporta solo con una connessione utf8. Le versioni precedenti importano solo con latin1.... e qui siamo in loop.

    Se importi da shell, in mancanza di indicazioni, verra' utilizzato il character set di default del server mysql. Di solito latin1. ed ecco qua. tu hai esportato con la 2.10.1 e quindi con connessione utf8, hai importato da shell e mysql ha come default latin1.

    ergo, prega e digiuna sperando nei miracoli.

    Il silenzio č spesso la cosa migliore. Pensa ... č gratis.

  5. #5


    che poi non ci capisco molto di sta roba..

    č possibile lanciare una query di conversione su tutto il dtaabase o qualcosa dle genere? :master:

  6. #6
    Originariamente inviato da }gu|do[z]{®©


    che poi non ci capisco molto di sta roba..

    č possibile lanciare una query di conversione su tutto il dtaabase o qualcosa dle genere? :master:
    update pippo set campo = replace(campo, 'carattere_buffo', 'carattere_bbono')


    Il silenzio č spesso la cosa migliore. Pensa ... č gratis.

  7. #7
    Originariamente inviato da piero.mac
    update pippo set campo = replace(campo, 'carattere_buffo', 'carattere_bbono')

    po' esse n'idea...

    Ma una funzione di conversione vera e propria no?

    Danke anyway

  8. #8
    Originariamente inviato da }gu|do[z]{®©
    Ma una funzione di conversione vera e propria no?
    non credo ci sia. potresti provare usando la stessa versione di phpmyamin con cui hai fatto il backup e ricostruire il database originale. Se i dati ripristinati fossero corretti potresti provare ad eseguire un backup da shell, utilizzando lo stesso character set di default (connessione) del server di destinazione.

    Se ti serve una dritta sulla sintassi da usare posso dartela, ma mi baso su cosa hai detto prima. All'attuale db si sono ormai aggiunti record che risultano corretti e da non eliminare.... quindi mi pare sia piu' semplice perdere un paio d'ore ed aggiustare la situazione corrente. Noioso ma risolutivo. In linea di massima sono solo le vocali accentate. si potrebbe fare uno script che letto i campi char/varchar/text di ogni tabella si spazzoli da solo tutto il db, almeno per le accentate. Non dovrebbe manco essere troppo complesso da fare.

    Il silenzio č spesso la cosa migliore. Pensa ... č gratis.

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.