Topic: Pubblico - Composto da 6 Posts di 3 Utenti.
| 29 Agosto, 2008 16:15 | #1 | ||
|---|---|---|---|
|
Ciao a tutti, |
|||
| 30 Agosto, 2008 11:32 | #2 | ||
|---|---|---|---|
|
Ma sono molte queste righe, per non poterle togliere a manina? :) Comunque credo che l'opzione sia—skip-set-charset …prova un po'. Altrimenti ti consiglio di fare uno script che elimini le righe contenenti 'character_set_client'.
Ultima modifica 11 Luglio, 2010 01:15 di root |
|||
| 01 Settembre, 2008 08:55 | #3 | ||
|---|---|---|---|
|
Sante Caserio ha detto: Ma sono molte queste righe, per non poterle togliere a manina? :) Comunque credo che l'opzione sia—skip-set-charset …prova un po'. Altrimenti ti consiglio di fare uno script che elimini le righe contenenti 'character_set_client'. Sì, purtroppo sono tre righe per ogni tabella e le tabelle possono essere n. Ho anche provato con—skip-set-charset, ma toglie solo queste righe: /!40101 SET 1OLD_CHARACTER_SET_RESULTS=/!40101 SET 1OLD_COLLATION_CONNECTION=/!40101 SET NAMES utf8 */;
lasciando inalterate quelle in questione. :(
Fare lo script era l'ultima cosa che volevo. Fare il parse di file da 5 Mb non è certo il massimo della praticità e velocità. Sicuro che non c'e' altra strada?
Ultima modifica 11 Luglio, 2010 01:15 di root |
|||
| 01 Settembre, 2008 10:23 | #4 | ||
|---|---|---|---|
|
Bhe! Ho risolto con lo script in PHP. <?php 1saved_cs_client&nbsp;&nbsp;&nbsp;&nbsp; =$secondastr = "SET character_set_client = utf8;"; $terzastr = "SET character_set_client = @saved_cs_client;"; // dati su i file $rfilename = 'c:\www\database\armeriagino.sql'; $wfilename = 'c:\www\database\armeriagino_1.sql'; $rhandle = @fopen($rfilename, "r" ); $whandle = @fopen($wfilename, "w" ); // loop centrale if ($rhandle && $whandle) { while (!feof($rhandle)) { // lettura file e decodifica utf8 $line = fgets($rhandle, 4096); // se non trova le stringhe indicate scrive il file if ((strncasecmp(trim($primastr),trim($line), strlen($primastr)) != 0) && (strncasecmp(trim($secondastr),trim($line), strlen($secondastr)) != 0) && (strncasecmp(trim($terzastr),trim($line), strlen($terzastr)) != 0) ) { fputs($whandle, $line); } $line = ''; } // chiusura dei file fclose($rhandle); fclose($whandle); } else { // errori sulla gestione dei file in lettura e scrittura if (!rhandle) die ('non posso aprire il file: ' . $rfilename . ' in lettura' ); if (!whandle) die ('non posso aprire il file: ' . $wfilename . ' in scrittura' ); } ?> rimane il fato che se si trova un parametro opportuno per mysqldump, vi rimango grato per l'eternità :-P
Ultima modifica 11 Luglio, 2010 01:15 di root |
|||
| 01 Settembre, 2008 10:30 | #5 | ||
|---|---|---|---|
|
Sia per le stringhe ricercate che per i file potete cambiarli a vostro piacimento. C'e' un errore nei commenti: non ho piu' fatto la decodifica in utf8. Per la quale basta la seguente riga: $line = utf8_encode(fgets($rhandle, 4096)); oppure fputs($whandle, utf8_encode($line)); N.B.: nei post manca la possibilita' di un'anteprima.
a presto. |
|||
| 02 Settembre, 2008 09:07 | #6 | ||
|---|---|---|---|
|
Ciao Losciuto, |
|||
Condividi su:
Loggati o Registrati per replicare