Wypowiedzi
-
Skleroza! Oczywiście pomogło. Dzięki bardzo :)
-
Witam.
Poznaję i18n dla cake'a na podstawie tutoriala. Wszystko pięknie działa z małym wyjątkiem. Z bazy danych nie dostaję polskich znaków.
core.php
Configure::write('App.encoding', 'UTF-8');
views/default
... charset=utf-8
Baza danych:
CREATE TABLE `i18n` (
`id` int(10) NOT NULL AUTO_INCREMENT,
`locale` varchar(6) COLLATE utf8_unicode_ci NOT NULL,
`model` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
`foreign_key` int(10) NOT NULL,
`field` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
`content` text COLLATE utf8_unicode_ci,
PRIMARY KEY (`id`),
KEY `locale` (`locale`),
KEY `model` (`model`),
KEY `row_id` (`foreign_key`),
KEY `field` (`field`)
) ENGINE=MyISAM AUTO_INCREMENT=3 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci
CREATE TABLE `posts` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`title` varchar(50) COLLATE utf8_unicode_ci DEFAULT NULL,
`body` text COLLATE utf8_unicode_ci,
`created` datetime DEFAULT NULL,
`modified` datetime DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=4 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci
Wynik
Kod modelu
class Post extends AppModel
{
public $name = 'Post';
public $actsAs = array(
'Translate' => array(
'title' => 'titleTranslation',
),
);
}
Kod kontrolera
class PostsController extends AppController
{
public $name = 'Posts';
public function index() {
$this->Post->locale = 'pol';
$posts = $this->Post->find();
$this->set('posts', $posts);
}
}
Kod widoku:
<pre><?php print_r($posts);?></pre>
<div><span class="label">Tytuł:</span> <?php echo $posts['Post']['title'];?></div>
Ktoś ma jakiś pomysł dlaczego to nie działa jak powinno?Piotr Adamowicz edytował(a) ten post dnia 19.10.10 o godzinie 21:06