В шапке шаблона лучше иметь вот это:
<?php
defined('_VALID_MOS') or die();
global $task,$my, $mosConfig_mailfrom;
$iso = explode('=',_ISO); echo '<?xml version="1.0" encoding="'.$iso[1].'"?'.'>'."\n";
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=<?php echo $iso[1];?>" />
<script type="text/javascript">
var _live_site = '<?php echo JPATH_SITE;?>';
var _option = '<?php echo mosGetParam( $_REQUEST, 'option', '' );?>';
var _cur_template = '<?php echo JTEMPLATE;?>';
var _js_defines = [];
</script>
<?php
// загружаем верхнюю часть страницы со всеми js и CSS файлами, и обязательным использованием jquery
mosShowHead(array('js'=>1,'css'=>1,'jquery'=>1));
//Инициализация визуального редактора
if ($my->id && $mainframe->allow_wysiwyg) { initEditor(); }
//Принудительно настраиваем модуль авторизации
$login_params = new stdClass();
$login_params->template = 'popup.php';
$login_params->show_login_text = 3;
$login_params->show_pass_text = 3;
$body_class = 'inside';
?>
<link href="<?php echo JPATH_SITE;?>/templates/<?php echo JTEMPLATE; ?>/css/template_css.css" rel="stylesheet" type="text/css" />
<!--[if lte IE 7]><link href="<?php echo JPATH_SITE;?>/templates/<?php echo JTEMPLATE; ?>/css/fix/ie7.css" rel="stylesheet" type="text/css" /><![endif]-->
<!--[if IE 8]><link href="<?php echo JPATH_SITE;?>/templates/<?php echo JTEMPLATE; ?>/css/fix/ie8.css" rel="stylesheet" type="text/css"/><![endif]-->
</head>
Немного громоздко на первый взгляд, но зато все будет точно работать как надо.
Также не забудьте в .htaccess проверить, чтобы строка
AddDefaultCharset UTF-8
была не закомментирована!