Абсолютно бессмысленный говнокод, true похапе way. Решаем строго поставленную задачу, "не допустить появления ошибки". Мысль о том, что ошибки надо не прятать под ковер, а ВЫЯВЛЯТЬ и ИСПРАВЛЯТЬ, даже не приходит в похапешную голову.
Я понимаю, что каждый пользователь похапе, вызубривший ару шпаргалок, начинает мнить себя гуру. Но всё же не рекомендую не вступать в спор с человеком, который, в отличие от тебя, понимает, как это всё работает. А не просто повторяет где-то услышанное. К примеру, что "кодировка базы и таблицы должна быть такая-то". Чтобы ты не так сильно позорился в будущем: кодировка базы не влияет здесь вообще ни на что. Возвращаясь к вопросу: 1251 прекрасно справляется с хранением русских букв. Да, это нечастая ситуация, когда утф сохраняют в 1251, и делать так не рекомендуется. Но здесь вопрос принципа. Если кому надо - то это будет работать. И если в целевой кодировке есть сиволы, приходящие склиента, то это будет работать. О чем и был мой первый комментарий. Я не то чтобы агитирую за 1251 в базе. Я просто не люблю школоту, у которой в голове одна схема "в базе, скрипте и на клиенте должна быть утф 8", и которая не понимает что такая схема совсем не обязательна.