mysqldump default-character-set

Wojciech Błaszkowski wojciech w blaszkowski.com
Śro, 6 Gru 2006, 21:14:42 CET


zadanie:
zrobić mysqldump z bazy w utf8 na latin2

metoda:
$ mysqldump -u user -p --no-create-db dbase --default-character-set=latin2 > 
dbase.sql

problem:
wpisy w dumpie są kodowane w latin2 (sprawdzone via kwrite, niewielki dump) 
natomiast w definicji tabel widnieje uparte bydle CHARSET=utf8.

$ file dbase.sql
wnt.sql: Non-ISO extended-ASCII text, with very long lines

można sobie poradzić rzucając na dump zaklęcie:
$ sed -i -e "s#CHARSET=utf8#CHARSET=latin2#g" dbase.sql
ale to nie źródło problemu.

dane:

# rpm -q mysql
mysql-5.0.27-1

# rpm -q mysql-client
mysql-client-5.0.27-1

# uname -a
Linux conflux 2.6.17.8-0.6 #1 Tue Aug 15 19:03:16 CEST 2006 i686 
Intel(R)_Pentium(R)_M_processor_1.73GHz unknown PLD Linux

(powyższe z ftp PLDowego)

# cat /etc/mysql/mysql-client.conf
[client]
default-character-set=latin2

# cat /var/lib/mysql/mysqld.conf | grep -v ';'
[mysqld]
datadir     = /var/lib/mysql/mysqldb/db
pid-file    = /var/lib/mysql/mysqldb/mysql.pid
port        = 3306
socket      = /var/lib/mysql/mysqldb/mysql.sock
user        = mysql
character-set-server=utf8
default-character-set = utf8
skip-networking
log        = /var/log/mysql/log
set-variable = max_allowed_packet=100M
myisam-recover
[mysqladmin]
user        = mysql_logrotate
password    =

próba zmiany character-set-server, default-character-set z utf8 na latin2 nie 
rozwiązuje problemu.

jakieś pomysły odnośnie rozwiązania/przyczyny problemu ?

Pozdrawiam,
--
Wojtosz


Więcej informacji o liście dyskusyjnej pld-users-pl