Bonjour,
Dans mon controller Posts, dans l'index je demande a récupéré toute les données de la table Posts et il ne me renvoie rien, il y a bien le model de présent et dans le Debug SQL je voie bien qu'il est dans la bonne table.
<?php
// Mon controller posts
class PostsController extends AppController{
function index(){
$datas = $this->Post->find('all');
debug($datas);
}
}
//Model post
<?php
class Post extends AppModel{
}
?>
et enfin mon query
Nr Query Error Affected Num. rows Took (ms)
1 SELECT `Post`.`id`, `Post`.`title`, `Post`.`slug`, `Post`.`content`, `Post`.`id_author`, `Post`.`id_categorie`, `Post`.`created`, `Post`.`date_edit`, `Post`.`online` FROM `1_dev`.`posts` AS `Post` WHERE 1 = 1
Donc je voulais savoir d'ou pouvais venir ce problème de ne rien afficher.
Merci
En gros si ta meta est en UTF8 comme ceci
<?php echo $this->Html->charset('UTF-8'); ?>.
Tu dois mettre l'interclassement de ta BDD en UTF8_general_ci
sinon tu mets en ISO-8859-1 ton charset
J'ai la version 2.1 de cakephp.
Je tien a ajouter que ce problème ce produit que sur certain controller, j'ai d'autre controller comme celui Users ou il n'y a pas de problème.
Tu veut dire dans le Controller ? si c'est le cas même dans le controller par défaut il n'y est pas et dans mon controller qui marche il n'y est pas non plus.
Depuis la version 2, je mets systématiquement
App::uses('AppController, 'Controller')
dans mes controlleurs et
App::uses('Controller', 'Controller');
dans mon AppController.
Dans mes models, je met ceci
App::uses('AppModel', 'Model');
et
App::uses('Model', 'Model');
dans mon AppModel
Ceci étant dit si cela fonctionne avec certains, il n'y a pas de raison mais cela ne coute rien d'essayer à part du temps...
Donc, j'ai ajouter ce que tu ma dit et rien ne change toujours imposible de voir les informations
Si tu fais un debug dans ta vue et non dans le controller, cela fonctionne-t-il ?
ajoute un
die();
, on ne sait jamais. Une fois je ne voyais pas mon debug, caché derrière une div...
je ne comprends pas, tous les debug des nouveaux controller ne fonctionnent pas ? Sauf celui des catégories
en faite mon controller categories que j'avais fait après marcher bien, mais quand j'en crée d'autre comme pages, posts, ou autre rien
Tu as execute ta requête générée dans phpmyadmin pour voir si cela te renvoi bien des données?
Avec t'on debug, j'obtient mes resultats, mais sans rangement en tableau.
/app/Controller/PostsController.php (line 10) ########## DEBUG ########## array( 'Post' => array( 'id' => '1', 'title' => 'Ma premi?re news', 'slug' => 'ma_premier_new', 'content' => '
Hello
C'est ma premi?re news dans ce site. :)
Greaaat
', 'id_author' => '8', 'id_categorie' => '1', 'created' => '2012-11-01 12:02:27', 'date_edit' => '0000-00-00 00:00:00', 'online' => true ) ) ###########################
oui mais dans les autres controller, il n'y a pas de problème. Le debug normal tout est afficher correctement.
En gros tu as très pu enregistré tes controllers qui fonctionne avec le debug en UTF-8 sans BOM et ceux qui ne fonctionne pas autrement..
c'est un piste comme une autre, mais vu que le debug($datas,false); fonctionne, c'est une piste....
Mes documents sont bien encoder en UTF8 sans BOM, un print_r donne mieux que le debug, mais une fois dans la vue il n'y a rien qui s'affiche :/ et aussi un set ne renvoie rien a la vue, ( en gros il ne voie rien comme le debug)
Merci quand même j'espere qu'il y auras des personnes avec la solution :),
ps: du nouveau je vient de crée un controller avec une base de donnée bidon pour tester et la il me renvoie bien les infos ><' et je suppose que le problème ce produit que sur le controllers posts
modifies ton enregistrement directement en base pour supprimer les accents et ainsi tu pourras tester si ton problème vient bien de la
Cela ne change rien au problème même sans accents, mais ce que je comprend moins c'est quand je fait des controllers avec des grand nom comme ctdetests ( pour essayer de trouver le bug ), il fonctionne sans problème.
Je sais de quoi vient mon problème, quand je rentre des accents dans la table de ma base de donnée, il ne le renvoie pas et affiche une erreur.
Des idées de correction ?
Pour ma part oui, de plus tu as encodé tous tes fichiers en utf8 sans Bom, autant continuer dans ce sens
Oui, c'est sur, je teste et je redit sa :)
Donc après avoir mis tout en UTF-8 et avoir ajouter la ligne
'encoding' => 'utf8'
dans database.php, tout marche.
Merci