Инициализация соединения MySQL из PHP с поддержкой кодовой страницы UTF-8

Из php с сервером баз данных MySQL работать довольно просто, но есть некоторые особенности при внесении записей, например на русском языке. В виду того, что большинство разрабатываемых мной проектов работают в кодировке UTF-8 для нее и приведен пример, но никто не мешает адаптировать этот пример для KOI8-R или CP1251.

Ситуация с новыми версиями php и MySQL такова, что даже без явного переключения кодовой страницы все будет прекрасно работать. Т.е. записи будут вносится в базу данных на русском языке и правильно от туда извлекаться. Проблемы начнутся, когда возникнет необходимость сделать Dump базы средствами mysqldump или через phpMyAdmin.

Пример кода соединения с сервером базы данных:

<?php
/**
 * Инициализация соединения с БД
 */
public static function init_connection() {
   $result = false;
   if (@mysql_connect(_DB_HOST, _DB_USER, _DB_PASS)) {
      if (@mysql_select_db(_DB_CATALOG)) {
         mysql_query("set names utf8");
         $result = true;
      }
   }
   return $result;
}
?>

Собственно, вызов функции:

mysql_query("set names utf8");

избавляет от проблем с кодировками.