Allora,
Mysql 5.0.32
i db sono caricati in utf8.
devo convertire tutta la baracca in latin1.
premettendo che ho già provato i suoi metodi di modifica automagica del
charset in fase di dump e restore ma sono ovviamente buggati e non
servono a niente.
ho pensato a:
mysqldump --add-drop-table database >/tmp/panza.utf8
sed 's/utf8/latin1/' /tmp/panza.utf8 >/tmp/panza.latin1
sed 's/utf8_unicode_ci/latin1/' /tmp/panza.latin1 >/tmp/panza.latin1.ok
recode --force utf8..latin1 /tmp/panza.latin1.ok
e poi ritirerei su tutto con mysql database < /tmp/panza.latin1.ok
ma...
se non metto --force caccia un errore. se mettto --force al primo giro
converte un pò ma non tutte le eccentate e char strani (verifico
aprendo banalmente il file lavorato con vim e terminale in latin1).
se rieseguo recode --force etc... ne converte un altro pò ma ovviamente
non tutti.
Se lo rieseguo la terza volta _ovviamente_ comincia a segare le
accentate nel file randomicamente.
dai sù.. mi sto perdendo in un bicchiere d'acqua, vero?...:)
M.
p.s.: concludo che la roba che non è rappresentabile in latin1 e che sta
sui db per volere o per errore può essere anche convertita in punti
interrogativi o in caratteri random, non è importante in quanto non
dovrebbero esserci...
|