mysqldump и восстановление с помощью специальных символов. Шо

Локально я делаю это, чтобы сделать дамп и переместить базу данных, обновив silverstripe 2.3 до 2.4:

mysqldump --opt  --default-character-set=latin1 --skip-set-charset --user=$root -p$password $oldDatabase -r db.sql  

iconv -f LATIN1 -t UTF8 db.sql > db_utf.sql 


CREATE DATABASE $newDatabase CHARACTER SET utf8 COLLATE utf8_swedish_ci; FLUSH PRIVILEGES; GRANT ALL PRIVILEGES ON $newDatabase . * TO '$newUser'@'localhost';  FLUSH PRIVILEGES;
SET NAMES utf8; SOURCE db_utf.sql;

И это работает, но на сервере Ubuntu 8.04, с mysql Ver 14.12 Distrib 5.0 .51a. Я схожу с ума √ фрахтователи вместо øæåØÆå.

Кто-нибудь знает, где я ошибся?

15
задан Mario Michelli 27 August 2010 в 11:29
поделиться

1 ответ

Вы пробовали это без шага iconv?

Вот что я использую при дампе баз данных UTF-8:

mysqldump \
    -u $DB_USER -p"$DB_PASS" \
    --default-character-set=Latin1 \
    --result-file=$DATAFILE

И для восстановления:

mysql -u $DB_USER -p"$DB_PASS" \
    --default-character-set=latin1 < $DATAFILE
1
ответ дан 1 December 2019 в 00:44
поделиться
Другие вопросы по тегам:

Похожие вопросы: