Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it L'avatar di deleted_id_48586
    Registrato dal
    Nov 2002
    Messaggi
    1,732

    [SQL] illegal mix of collations ...

    quando tento di eseguire una query da phpmyadmin su MySQL:

    es:
    "update films set id_regista=5 where titolo='Kill Bill Vol.1';"

    ho questo messaggio di errore:

    #1267 - Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and (utf8_general_ci,COERCIBLE) for operation '='

    mentre da console va tutto bene.

    Chi mi spiega l'errore?

    Grazie.

  2. #2
    quale versione di phpmyadmin usi?

    prova a mettere il collation della connessione come latin1_general_ci. Era un problema che si riscontrava a volte quando si passavano le tabelle copiando i file invece di aggiornarle con un backup/restore... ma non era sistematico. Comunque legato a phpmyadmin.


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

  3. #3
    Utente di HTML.it L'avatar di deleted_id_48586
    Registrato dal
    Nov 2002
    Messaggi
    1,732
    uso PhpMyAdmin 2.6.0

    ho messo "utf8_general_ci" come collation per entrambe le colonne di tabella interessate dalla join e funziona ma ... non sò perchè.

    Sapreste rimandarmi ad una descrizione sul funzionamento delle collation (non sò cosa sono)?

    Grazie.

  4. #4
    Originariamente inviato da Sgurbat
    uso PhpMyAdmin 2.6.0

    ho messo "utf8_general_ci" come collation per entrambe le colonne di tabella interessate dalla join e funziona ma ... non sò perchè.

    Sapreste rimandarmi ad una descrizione sul funzionamento delle collation (non sò cosa sono)?

    Grazie.
    Quella versione fa casino....

    installa l'ultima di phpmyadmin la 2.6.2-plx

    E' lunga da spiegare la storia tra il COLLATE e il CHARSET....

    tieni solo presente che il COLLATE e' il modo con cui devono essere trattati i caratteri nell'ordinamento e conversione utf8. Altro che puo' essere rilevante e' che il finale _ci e _cs dei vari COLLATE si riferisce a CASE INSENSITIVE e CASE SENSITIVE. Non hai piu' la possibilita' di mettere BINARY al campo, ma la dovrai impostare tramite il COLLATE del campo.

    Chissa' che a qualcuno non venga il buzzo buono di farci una pillola...


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

  5. #5
    ho dimenticato....

    se proprio hai voglia la storia la trovi qui. Ma e' disarmante solo a leggere l'indice.

    http://dev.mysql.com/doc/mysql/en/charset.html



    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.