Той е необходим винаги, когато искате да изпратите данни на сървъра със знаци, които не могат да бъдат представени в чист ASCII, като „ñ“ или „ö“.
Това, ако MySQL екземплярът не е конфигуриран да очаква UTF-8 кодиране по подразбиране от клиентски връзки (много са, в зависимост от вашето местоположение и платформа.)
Прочетете http://www.joelonsoftware.com/articles/Unicode.html в случай, че не сте наясно как работи Unicode.
Прочетете Дали да използвате "SET NAMES" за да видите алтернативите на SET NAMES и за какво точно става въпрос.