Записки админа
12.8K subscribers
654 photos
29 videos
227 files
2.48K links
Пишу о Linux и администрировании серверов.

Связаться с автором: @servers

Заметки в браузере: https://sysadmin.pm/

Буст канала: https://yangx.top/sysadminnotes?boost
加入频道
Иногда, при переносе сайта и дампе MySQL базы, начинается чехорда с кодировками. Особенно часто такое бывает при переносе со старых версий ПО, на актуальные.

В общем случае, получить дамп в UTF-8 кодировке можно просто добавив --default-character-set=utf8 при выполнении mysqldump, однако иногда случаются ситуации, когда повторно дамп в верной кодировке делать уже не с чего (база и сайт удалены с сервера), и приходится работать с тем что есть. Здесь нам на помощь приходит iconv - утилита, с помощью которой мы сможем сменить кодировку дампа.

$ iconv -f windows-1251 -t utf-8 db_dump.sql > db_dump.utf-8.sql

Увидеть текущую кодировку файла можно с помощью утилит:

$ file -bi db_dump.sql
text/plain; charset=iso-8859-1

$ chardetect db_dump.sql
db_dump.sql: windows-1255 with confidence 0.99

#будничное #iconv #mysqldump
Если когда-нибудь, вас попросят развернуть дамп БД, который был сделан на windows машине, при этом, дамп на хостинг-сервере корректно не развернётся из-за странных проблем с символом перевода строки, попросите сдампить БД заново, но при этом, вместо >, использовать параметр --result-file или -r. Оказывается, это имеет значение.

mysqldump -uuser -p user768_wp -r user768_wp.sql

#будничное #mysqldump