Visualizzazione dei risultati da 1 a 8 su 8

Discussione: Dump impossibile

  1. #1

    Dump impossibile

    Da qualche tempo non riesco più ad effettuare un DUMP perfetto con phpmyadmin.
    In particolare, tutti i caratteri speciali (ad esempio quelli accentati) vengono trasformati in caratteri strani (con dieresi et similia).

    Il problema si presenta già in fase di dump (non durante il restore) poiché il file di testo .SQL generato già contiene i caratteri strani.

    Mi pare di capire che si tratti di un problema di charset ma non capisco come risolverlo perché il database originario contiene i caratteri corretti (tutti i caratteri speciali vengono correttamente visualizzati nel sito) ma nel momento in cui effetto il dump questi vengono trasformati.

    Ho provato varie opzioni di phpadmin durante il dump, ma senza successo. Preciso che il problema mi si verifica sia con un DB che ha la collation latin_swedish_ci che su una database che ha la collation general_utf8_ci, in entrambi i casi, però le tabelle da salvare hanno la collation latin_swedish_ci.

    Potete darmi qualche dritta, idea o suggerimento?

  2. #2
    ci sono alcune versioni di phpmyadmin che non funzionano correttamente. Il problema e' dato dal character set della connessione del client.

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

  3. #3
    Eppure ho l'impressione che il problema non stia in phpmyadmin.

    Faccio un altro esempio di problema simile che mi capita con lo stesso DB.

    Premetto che il database in questione contiene le tabelle relative ad un forum (Invision Power Board). Esiste uno script php che permette di convertire le tabelle del forum in un altro forum. Ovviamente lo script viene uppato sul server ed eseguito da lì.

    Ebbene, le nuove tabelle che ottengo hanno lo stesso problema: tutti i caratteri accentati del nuovo forum presentano caratteri strani. In questo caso non si è passati attraverso il dump ma le nuove tabelle sono state generate direttamente dalle vecchie tabelle nelle quali i caratteri speciali si vedono correttamente.

  4. #4
    mi ripeto: e' un problema dato dal charset utilizzato dal client MySQL installato sul php.

    tipicamente: server mysql utf8 -> client mysql latin1 -> server mysql utf8

    prova a settare il charset della connessione prima di eseguire il dump.

    codice:
    mysql_connect(...);
    mysql_select_db(...);
    
    mysql_query('set names utf8');
    
    oppure
    
    mysql_query('set names latin1');
    dipende dalle impostazioni del tuo hoster. o una o l'altra dovrebbero funzionare.

    Oppure e' un problema causato dalla versione di phpmyadmin. Quale versione stai usando?

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

  5. #5
    Ti ringrazio per il supporto piero.mac, purtroppo non riesco a carpire il consiglio che mi hai dato.

    Innanzitutto la versione di phpmyadmin che uso è la 2.8.2.4, mentre la versione di MysQl è la 5.0.58. Come ti dicevo escludo si tratti di un problema di phpmyadmin poiché anche altri script (come quello di conversione del forum) mi danno lo stesso problema dei caratteri speciali.

    Mi consigli di settare il charset prima della connessione: cosa significa? come si fa materialmente?

  6. #6
    Utente di HTML.it L'avatar di brodik
    Registrato dal
    Jan 2009
    Messaggi
    765
    piero.mac infatti non parla di phpmyadmin ma del client mysql..

    per settare il charset prima della connessione te l'ha scritto nel messaggio...

    codice:
    mysql_connect(...);
    mysql_select_db(...);
    
    mysql_query('set names utf8');
    
    oppure
    
    mysql_query('set names latin1');

  7. #7
    Mi sembra evidente che quelle siano istruzioni php ma non capisco come fare ad eseguirle "prima di stabilire la connessione".

    Creo un file php con quel codice (opportunamente integrato) e lo eseguo prima di lanciare phpmyadmin? Non credo.....

    Tenete presente che non ho accesso al server Mysql...

  8. #8
    Originariamente inviato da edyarchi
    Mi sembra evidente che quelle siano istruzioni php ma non capisco come fare ad eseguirle "prima di stabilire la connessione".

    Creo un file php con quel codice (opportunamente integrato) e lo eseguo prima di lanciare phpmyadmin? Non credo.....

    Tenete presente che non ho accesso al server Mysql...
    e' un problema causato dalla versione di phpmyadmin che stai usando. Prova a fare le stesse operazioni usando la versione corrente che mi pare sia la 3.1.3.

    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.