Баревнер.
Есть база в формате dbf в котором дата кодировано на Windows1252.
Задача:
Залить эту базу в мускульную у которого кодировка utf8 и обратно из мускула сделать dbf
windows-1252 to utf8 (dbf)
Модераторы: SLEDopit, Модераторы разделов
-
Davsharyan
- Сообщения: 39
- ОС: Debian Lenny
windows-1252 to utf8
<<EOF
everything that has a beginning has an end as well...
EOF
everything that has a beginning has an end as well...
EOF
-
sciko
- Сообщения: 1744
- Статус: Ъ-участник
- ОС: Debian/Ubuntu/etc
-
Davsharyan
- Сообщения: 39
- ОС: Debian Lenny
Re: windows-1252 to utf8
Ну да, утилита хорошая, работает.
Буквально - первое это пробовал (:
А что порекомендуете для перекодировки с windows1252->utf8 ?
Буквально - первое это пробовал (:
А что порекомендуете для перекодировки с windows1252->utf8 ?
<<EOF
everything that has a beginning has an end as well...
EOF
everything that has a beginning has an end as well...
EOF
-
sciko
- Сообщения: 1744
- Статус: Ъ-участник
- ОС: Debian/Ubuntu/etc
Re: windows-1252 to utf8
iconv
-
Davsharyan
- Сообщения: 39
- ОС: Debian Lenny
Re: windows-1252 to utf8
уппс, сори, насчёт latin1 не видел. шас попробую
Там вроде Windows-1252 почти тоже самое, что и latin1 и ISO 8859-1
сделаю ка базу латин1.
Там вроде Windows-1252 почти тоже самое, что и latin1 и ISO 8859-1
сделаю ка базу латин1.
<<EOF
everything that has a beginning has an end as well...
EOF
everything that has a beginning has an end as well...
EOF
-
sciko
- Сообщения: 1744
- Статус: Ъ-участник
- ОС: Debian/Ubuntu/etc
Re: windows-1252 to utf8
Единственное автор по ссылке забыл написать что mysqldump должен быть с опцией --hex-blob (иначе iconv попортит данные).
-
Ism
- Сообщения: 1261
- Статус: Никто, по сути быдло
Re: windows-1252 to utf8
Если вы экспортируете в mysql из своей программы, то при подключении выполните команду SET NAMES win1252; , она говорит серверу в какой кодировке клиент посылает ему данные.
Или вот это
http://www.sqlmanager.net/en/products/mysql/manager/download
EMS SQL Manager for MySQL Freeware (ограничение базы 100 Мб)
там кажется есть импорт, экспорт , работает под wine
Или вот это
http://www.sqlmanager.net/en/products/mysql/manager/download
EMS SQL Manager for MySQL Freeware (ограничение базы 100 Мб)
там кажется есть импорт, экспорт , работает под wine
-
Davsharyan
- Сообщения: 39
- ОС: Debian Lenny
Re: windows-1252 to utf8
Черти, не правельно сказали кодировку, мучался час. там не windows1252 a armscii8.
Спс sciko
и маленкий скрипт может пригодится. это copy/paste и поправка немножко
Спс sciko
и маленкий скрипт может пригодится. это copy/paste и поправка немножко
Код: Выделить всё
#!/bin/bash
dbuser="root"
dbpass="pass"
tablename="data"
dbout="latin1"
dbin="utf8"
echo "dbf to mysql"
dbf2mysql -d ${dbout} -t ${tablename} -c -P ${dbpass} -U ${dbuser} baza.dbf
echo "mysqldump w/ latin1"
mysqldump -u${dbuser} -p${dbpass} --hex-blob --default-character-set=latin1 ${dbout} ${tablename} > out.sql
echo "converting - iconv"
iconv -f armscii-8 -t utf-8 -c out.sql > outtmp.sql
echo "sedddding"
more outtmp.sql|sed 's/latin1/utf8/g' > out.sql
echo "drop data from ${dbin}"
mysql -u${dbuser} -p${dbpass} -e "delete from ${tablename}" ${dbin}
echo "import to database"
mysql --default-character-set=utf8 -u${dbuser} -p${dbpass} ${dbin} < out.sql
echo "deleting temp files"
rm out.sql & rm outtmp.sql
exit 0<<EOF
everything that has a beginning has an end as well...
EOF
everything that has a beginning has an end as well...
EOF
-
sciko
- Сообщения: 1744
- Статус: Ъ-участник
- ОС: Debian/Ubuntu/etc
Re: windows-1252 to utf8
Для таких случаев существует enconv.
Но ИМХО он уж очень часто глючит.
Но ИМХО он уж очень часто глючит.
-
sash-kan
- Администратор
- Сообщения: 13939
- Статус: oel ngati kameie
- ОС: GNU
Re: windows-1252 to utf8
в натуре однобайтный армянский? круто. даже не слыхал про такую. наверно, я не армянин.
Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
при сбоях форума см.блог