0.00
Рейтинг
0.00
Сила

Автоматический перевод слова в нужный падеж

Введение
Тебе приходилось, %username%, видеть на многих проектах надписи:
  • «Подружиться с Дмитрий»
  • «Опубликован Артем» (подразумевалось кем-то)
  • Etc.
Или как, например, сделал ВКонтакте:
  • «Подружиться с Андреем»
  • «Отправить Ярославу подарок»
Сегодня я расскажу, как сделать такую штуку, как «автоматический перевод слова в нужный падеж».
Читать дальше →

Cнятие и установка дампа в MySQL (mysqldump) — tips & tricks

В теории


В теории все просто — MySQL из коробки имеет утилиту mysqldump, которая позволяет снять копию базы в виде набора SQL инструкций.

В реальности все гораздо хуже. Дело в том, что mysqldump криво работает с кодировками, отличными от Latin1. Тоесть экспортировать базу в UTF8 следуя официальной документации (man mysqldump), тоесть с указанием --default-character-set=utf8, и импортировать ее потом обратно — не представляется возможным. Кодировка будет битая в следствии «двойного преобразования», выполняемого утилитой mysqldump — пруфлинк

Собственно, по ссылке выше есть и рецеп. Суть его в том, что нужно экспортировать базу и затем импортировать ее в Latin1 вне зависимости от того, какая реально кодировка используется. При этом конечно нужно вычестить из *.sql файл инструкции SET NAMES…

Еще один важный момент, который следует учесть. Как правило мы снимаем дамп базы с именем A и пытаемся накатить его на базу с именем B. Соответственно, возможны коллизии из за того, что в созданном после экспорта файле в SQL запросах и командах СУБД будет присутствовать упоминание A. Нужно заменить все вхождения A на B, ниже под катом будет пример как это сделать средствами VIM.


Читать дальше →