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

    [MySql] Illegal mix of collation error

    Allora, sembra che dal MySql 4.1 sia possibile scegliere tra due tipi di codifiche, UDF8 e LATIN1, come faccio a trasformare una tabella che è UDF8 in LATIN1 senza distruggere tutti i dati ?

    Ho inserito nel my.ini default-charset=latin1 , ho riavviato, nulla.... ho ottimizzato le tabelle... nulla...

    Devo per caso esportare ed importare di nuovo un data base di 4 giga per potere cambiare queste benedette codifiche ?

  2. #2

    Re: [MySql] Illegal mix of collation error

    Originariamente inviato da Sergio L
    Allora, sembra che dal MySql 4.1 sia possibile scegliere tra due tipi di codifiche, UDF8 e LATIN1, come faccio a trasformare una tabella che è UDF8 in LATIN1 senza distruggere tutti i dati ?

    Ho inserito nel my.ini default-charset=latin1 , ho riavviato, nulla.... ho ottimizzato le tabelle... nulla...

    Devo per caso esportare ed importare di nuovo un data base di 4 giga per potere cambiare queste benedette codifiche ?
    sti ca**i che db
    mi spaice nn so niente a riguardo
    lo imparero anke io se ti risponderanno
    ciao

  3. #3

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

  4. #4
    Originariamente inviato da piero.mac
    http://database.html.it/guide/leggi/87/guida-mysql/

    cap. 10
    Dal MySql Administrator non è possibile farlo ? Si fa solo manualmente con il comando SET ?
    Da un altra parte avevo lette ALTER... sono un pò in panico...

  5. #5
    Originariamente inviato da Sergio L
    Dal MySql Administrator non è possibile farlo ? Si fa solo manualmente con il comando SET ?
    Da un altra parte avevo lette ALTER... sono un pò in panico...
    si puo' cambiare l'attributo della tabella o del campo....

    ma ci andrei cauto. Leggi bene l'articolo di luca200 ... non e' cosi' semplice la cosa. Se codifichi con un certo charset significa che a parita' di byte (o piu' byte) corrispondono lettere diverse. Luca200 descrive bene le "dipendenze" tra server - connessione ecc....

    Fai le tue prove su copia della tabella ovviamente... e vedi i risultati che ottieni. Lo puoi fare a livello generale con mysql administrator, oppure a livello di database/tabella/campo anche con phpmyadmin, mysql query browser, SQLyog ....

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

  6. #6
    Originariamente inviato da piero.mac
    si puo' cambiare l'attributo della tabella o del campo....

    ma ci andrei cauto. Leggi bene l'articolo di luca200 ... non e' cosi' semplice la cosa. Se codifichi con un certo charset significa che a parita' di byte (o piu' byte) corrispondono lettere diverse. Luca200 descrive bene le "dipendenze" tra server - connessione ecc....

    Fai le tue prove su copia della tabella ovviamente... e vedi i risultati che ottieni. Lo puoi fare a livello generale con mysql administrator, oppure a livello di database/tabella/campo anche con phpmyadmin, mysql query browser, SQLyog ....
    Ecco il punto...
    Mi piacerebbe avere un metodo sicuro, dovrei ricodificare fai conto un forum come questo, in continuo movimento e con la necessità di essere aggiornato.
    Porcaccia della miseria, ma perchè non hanno previsto un tool per la ricodifica o per il controllo, ho tentato un ottimizzazione tabelle, ma nulla è cambiato.

  7. #7
    rileggendo il thread ora mi sfugge quale sia il tuo problema.

    la connessione puo' anche utilizzare UTF8 ... quello che conta e' il character set del server che "usualmente" e' quello usato dal OS. Eventuali problemi potrebbero nascere dove lo script php e' su un server che utilizza un charset differente da quello che usa il server dove e' installato mysql..... Allora dovra' esserci una conversione tra il charset del server di origine dati e il charset del database di destinazione. Ma UTF8 nel tuo caso credo sia solo il tipo di codifica usato dalla connessione che e' interpretato sia da mysql che da php.

    Quindi se il server mysql utilizza charset LATIN1, i COLLATE che iniziano con LATIN1_*_ci o _*_cs sono tutti compatibili e non dovresti avere alcun problema......

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

  8. #8
    Aggiungo pero' che su questo argomento gli sviluppatori hanno fatto un gran casino...

    e devo pure prendere atto che si stanno evolvendo e che ci sono differenze di comportamento e settaggio nei rilasci 4.1 e 5.0.x .... quindi argomento da prendere con le molle....

    per fortuna che pochi hanno bisogno di gestire anche il TIME ZONE .... qui il casino e' peraltro maggiore che con il character set....

    il famoso adagio... Funziona, non lo toccare, Non funziona? l'hai toccato? SI? bravo pirla...
    e' piu' che mai valido.


    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.