© 2010 - 2011 /home/sinkler/

Для того чтобы ваш сайт на CakePHP корректно работал с кодировкой utf8, необходимо сделать четыре вещи:
1. Идем в файл app/config/database.php и меняем значение ключа "encoding" на "utf8":
class DATABASE_CONFIG {
var $default = array(
'driver' => 'mysql',
'persistent' => true,
'host' => 'localhost',
'login' => 'root',
'password' => 'password',
'database' => 'cake_db',
'prefix' => '',
'encoding' => 'utf8'
);
}
И не забудьте удостовериться, что база данных, которую использует кейк, в кодировке utf8 (я использую utf8_general_ci).
2. Теперь откройте файл app/config/core.php и ищем параметр конфигурации "App.encoding". Меняем его на "utf-8".
/**
* Application wide charset encoding
*/
Configure::write('App.encoding', 'utf-8');
3. Проверьте все ваши layouts, которые использует сайт. В заголовках страниц обязательно должна указываться кодировка utf-8:
<head>
<!-- ... -->
<?php echo $html->charset('utf-8'); ?>
<!-- ... -->
</head>
4. И последнее, про это чаще всего забывают, - кодировка сервера. Если лень лезть в конфиги апача, можете просто добавить в корневой .htaccess строчку "AddDefaultCharset UTF-8":
<IfModule mod_rewrite.c> RewriteEngine on RewriteRule ^$ app/webroot/ [L] RewriteRule (.*) app/webroot/$1 [L] </IfModule> AddDefaultCharset UTF-8
Все примеры данной статьи гарантированно будут работать только для CakePHP 1.2.х и 1.3.х.