Попробуйте заменить:
foreach( $languages as $language ){
$sql = "INSERT INTO ".DB_PREFIX ."pavblog_blog_description(`language_id`, `blog_id`,`title`,`description`,`content`)
VALUES(".$language['language_id'].",'".$data['pavblog_blog']['blog_id']."','".$this->db->escape($data["pavblog_blog_description"][$language['language_id']]['title'])."','"
.$this->db->escape($data["pavblog_blog_description"][$language['language_id']]['description'])."','".$this->db->escape($data["pavblog_blog_description"][$language['language_id']]['content'])."') ";
$this->db->query( $sql );
}
на
foreach( $languages as $language ){
$data["pavblog_blog_description"][$language['language_id']]['title'] = mb_convert_encoding($data["pavblog_blog_description"][$language['language_id']]['title'], "UTF-8");
$data["pavblog_blog_description"][$language['language_id']]['content'] = mb_convert_encoding($data["pavblog_blog_description"][$language['language_id']]['content'], "UTF-8");
$data["pavblog_blog_description"][$language['language_id']]['description'] = mb_convert_encoding($data["pavblog_blog_description"][$language['language_id']]['description'], "UTF-8");
$sql = "INSERT INTO ".DB_PREFIX ."pavblog_blog_description(`language_id`, `blog_id`,`title`,`description`,`content`)
VALUES(".$language['language_id'].",'".$data['pavblog_blog']['blog_id']."','".$this->db->escape($data["pavblog_blog_description"][$language['language_id']]['title'])."','"
.$this->db->escape($data["pavblog_blog_description"][$language['language_id']]['description'])."','".$this->db->escape($data["pavblog_blog_description"][$language['language_id']]['content'])."') ";
$this->db->query( $sql );
}
Аналогично для других таблиц.
Если не сработает - нужно попробовать добавить определение текущей кодировки и конвертировать с указанием текущей кодировки. Также можно пробовать другие функции конвертирования типа iconv и т.п.
Можете почитать описание этих функций и на основе примеров сделать у себя.