CONVERTIRE IL DATABASE DA LATIN1 A UTF8 (BOZZA) (DOCUMENTO SCADUTO) ------------------------------------------------------------------------------ Indice Argomenti 1. Convertire il database da latin1 a utf8 2. Appunti Ale 1. Convertire il database da latin1 a utf8 1.1. Estrarre il DB 1.2. Editare il file estratto 1.3. Convertire il DB iconv --from-code latin1 --to-code utf-8 db.out > db.out.utf8 1.4. Restore del DB psql -f db.out.utf8 template1 1.5. Modifica del file di configurazione di IGSuite 1.6. Codifica dei file del dizionario di IGSuite $lang_charset = 'utf-8'; 1.7. Aggiornare Perl a 5.14 Version 4.004 or higher of DBD::mysql is required. UTF-8 was first available in MySQL v4.1. As of v5.0, it is the system default. 1.8. Installare IGSuite 6.0 #! /bin/bash for file in *_lang do iconv --from-code latin1 --to-code utf-8 -o "$file.new" "$file" && mv -f "$file.new" "$file" done 2. Appunti Ale apt-get libmysqlclient-dev ## aggiornamento di DBI ppm upgrade DBI ## installazione DBD::mysql cd cd temp wget http://search.cpan.org/CPAN/authors/id/C/CA/CAPTTOFU/DBD-mysql-4.026.tar.gz tar -zxvf DBD-mysql-4.026.tar.gz cd DBD-mysql-4.026 perl Makefile.PL make make install ##aggiornamento di /etc/mysql/my.cnf [mysqld] max_connections = 250 ##//AF//custom default-storage-engine=INNODB ##//AF//custom ## ripristino per DB corrotto # backup del DB aggiunta di "innodb_force_recovery = 1" a my.cnf [mysqld] /etc/init.d/mysql restart /usr/bin/mysqldump -u root -pPPPPP --single-transaction --flush-logs --master-data=2 igsuite > /tmp/igsuite.sql mv /tmp/igsuite.sql /var/igsuite/cgi-bin/data/igsuite.sql (copia, per sicurezza, del backup su PC locale) mysql -u root -pPPPPP > drop database igsuite; > create database `igsuite` charset utf8; > quit mysql -u root -pPPPPPP -D igsuite < /tmp/igsuite.sql togliere "innodb_force_recovery = 1" a my.cnf [mysqld] /etc/init.d/mysql restart (verifica diritti utente igsuite su DB igsuite)