Przygodę z ajaxem dopiero zaczynam i jak to zwykle bywa, początki są najtrudniejsze

. W związku że w cakephp został dołączony moduł pomocny przy ajaxie, dobrze by było go wykorzystać.
W necie znalazłem prosty a zarazem pomocny tutorial o ajaxie z cakephp:
http://www.reversefolds.com/articles/show/ajaxwszystko jest pięknie dopóki w grę nie wchodzą polskie znaki, cały przykład jest w kodowaniu utf-8, kodowanie layoutu ajaxa tez jest poprawne, bo po wywołaniu URL'a: /things/view/0 polskie znaki są wyświetlane prawidłowo.
Problem jest na podstronce (/things/index), gdzie krzaki wyświetlaja się po kliknięciu na ajaxowy link , który zmienia zawartość diva w tekst z polskimi fontami.
więc problem leży zapewne w ustwieniach wykorzystywanego przez cake skryptu ajaxowego (prototype), nie wiem tylko jak tą opcję ustawić, czy zapomocą cake czy bezposrednio w samym skrypcie prototype, a może problem leży gdzieś indziej?
kod kontrolera:
<?php
/**
* $Id: approot/controllers/things_controller.php
*/
class ThingsController extends AppController
{
var $name = 'Things';
var $helpers = array('Html', 'Javascript', 'Ajax');
// we're not going to use a model for this example, but
// it would be easy to use a database thanks to cake
var $uses = null;
/**
* initial page load
*/
function index() {
// preload dynamic data
$this->set('data1', 'content will update here');
$this->set('data2', 'here too');
$this->render('neat');
}//index()
/**
* display content action
*
* @param int id of content to display
*/
function view($id) {
// content could come from a database, xml, etc.
array('polskie fonty: ążśźęćłóń', 'become a cake baker',),
array('knowledge is not enough', 'we must also apply - bruce lee')
);
$this->set('data1', $content[$id][0]);
$this->set('data2', $content[$id][1]);
// use ajax layout
$this->render('neat', 'ajax');
}//view()
}//ThingsController
?>
kod layoutu:
<!-- // approot/views/layouts/default.thtml -->
<html>
<head>
<?php
print $html->charsetTag('UTF-8'); print $javascript->link('prototype'); print $javascript->link('scriptaculous.js?load=effects'); ?>
</head><body>
<?php echo $content_for_layout; ?> </body></html>
kod widoku:
<!-- // approot/views/things/neat.thtml -->
<h1>Really neat stuff here</h1>
<?php
// update both divs
echo $ajax->link('update divs', '/things/view/0', );
// use an effect
echo $ajax->link('blinders', '/things/view/1', 'loading' => 'Effect.BlindDown('dynamic1')')
);
?>
<hr/>
<?php echo $ajax->div('dynamic1'); ?> <h2><span>
<?php echo $data1; ?></span></h2>
<?php echo $ajax->divEnd('dynamic1'); ?>
<?php echo $ajax->div('dynamic2'); ?> <h3><span>
<?php echo $data2; ?></span></h3>
<?php echo $ajax->divEnd('dynamic2'); ?>