Forum CMS Made Simple FR

Version complète : [Résolu] Problème d'accent lorsque j'utilise une fonction « {php}incl
Vous consultez actuellement la version basse qualité d’un document. Voir la version complète avec le bon formatage.
Citation :#~~~~~ DEBUT BLOC A NE PAS SUPPRIMER ~~~~~
#~ Version du CMS: #1.11.2
#~ Url du site : http://www.19etrou.ca/dev/index.php?page...t-gaspesie
#~ Hébergeur / Soft : iSream (Montréal, Québec)
#~ Informations Système :
#~ ----------------------------------------------
#~ Cms Version: 1.11.2
#~ Installed Modules:
#~ CMSMailer: 5.2.1
#~ CMSPrinting: 1.0.3
#~ FileManager: 1.4.1
#~ MenuManager: 1.8.4
#~ MicroTiny: 1.2.3
#~ ModuleManager: 1.5.5
#~ News: 2.12.9
#~ Search: 1.7.7
#~ ThemeManager: 1.1.7
#~ Config Information:
#~ php_memory_limit:
#~ process_whole_template:
#~ output_compression:
#~ max_upload_size: 128000000
#~ url_rewriting: none
#~ page_extension:
#~ query_var: page
#~ image_manipulation_prog: GD
#~ auto_alias_content: true
#~ locale:
#~ default_encoding: utf-8
#~ admin_encoding: utf-8
#~ set_names: true
#~ Php Information:
#~ phpversion: 5.3.3
#~ md5_function: On (Vrai)
#~ gd_version: 2
#~ tempnam_function: On (Vrai)
#~ magic_quotes_runtime: Off (Faux)
#~ E_STRICT: 0
#~ E_DEPRECATED: 8192
#~ memory_limit: 128M
#~ max_execution_time: 60
#~ output_buffering: 4096
#~ safe_mode: On (Vrai)
#~ file_uploads: On (Vrai)
#~ post_max_size: 8M
#~ upload_max_filesize: 128M
#~ session_save_path: Aucune vérification à cause de la restriction spécifiée par PHP open_basedir
#~ session_use_cookies: On (Vrai)
#~ xml_function: On (Vrai)
#~ xmlreader_class: On (Vrai)
#~ Server Information:
#~ Server Api: apache2handler
#~ Server Db Type: MySQL (mysqli)
#~ Server Db Version: 5.0.95
#~ Server Db Grants: Trouvé un privilège "GRANT ALL" qui semble être adapté
#~~~~~ FIN BLOC A NE PAS SUPPRIMER ~~~~~



Problème d'accent lorsque j'utilise une fonction « {php}include' xxxxxxx.php';{/php}»

Tous les accents sont remplacés par des caractères : Le club de golf de Rivi?re H?t?e

J'ai tenté d'ajouté : <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> dans ma page, sans succès.
Salut,

Comment appelles-tu cette fonction ? Je suppose qu'elle te renvoie du texte ?

As-tu essayé de convertir ce contenu UTF8 directement ? Avec utf8_encode par exemple ?

Ta fonction est-elle une fonction de ton cru ? Sinon tu peux peut-être passer par une balise utilisateur.
{php} est à exclure de ton code, c'est pas propre Wink

fait comme heriquet te le conseil : colle ton code dans une udt, c'est propre et le code sera dans le même encodage que cmsmadesimple, te corrigeant sans aucun doute ton problème au passage.
Avec une vielle version CMS Made Simple (1.6.8)

J'avais créé un contenu (page) et dans celui-ci je collais l'information suivante : {php}include' xxxxxxx.php';{/php}.


xxxxxxx.php est une page qui fait une requête dans une base de donnée. Cette requête me permettais de lister le contenu de ma table selon une requête.

Ça fonctionnait bien.
Ok ! Je ne sais pas te dire pourquoi ca ne fonctionne plus à présent, mais si tu crées une balise utilisateur, tu bénéficies de l'API de CMSMS, donc aussi des connections DB à la DB de ton instance de CMSMS, etc.
J'avoue qu'avec les balises je ne suis pas un expert, mais j'ai quand même créé quelque chose pour me connecter à ma BD et avec une requête sql.

J'obtiens quelque chose, mais j'ai toujours mon problème d'accent...
Tu as essayé d'utiliser la fonction utf8_encode ?
Citation :Tu as essayé d'utiliser la fonction utf8_encode ?

Dans mon gabarit de page, j'ai changé mon <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
pour : charset=utf8_encode.


J'ai aussi fait un test, j'ai fait affiché ma page sans passer par CMSMadeSimple... et elle s'affiche correctement.
Pour ton charset, ce n'est pas correct.

Dans le template par défaut, il y a ceci :

Code :
[== XHTML ==]

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

Il ne faut a priori pas y toucher.

Serait-tu d'accord de m'envoyer le contenu de ton UDT (la balise utilisateur) par mail afin que je tente de voir ce qui se cache derrière ton problème ? Si tu ne la trouve pas, envois-moi un message privé. Sauf si tu es d'accord de copier ton code (en masquant les logins et pass) dans cette page de forum.
La bd est en quel encodage ? Je suppose que si tu as des problèmes d'affichage des accents tu n'est pas en utf8_general_ci.
Ajoute au code de connexion à la bd : $bd->query("SET NAMES 'utf8'");

La meta content-type est souvent écrasée par l'entête http, tu peux vérifier l'entête avec firebug.
Si le set names ne fonctionne pas, essaye en ajoutant "AddDefaultCharset utf-8" dans ton .htaccess.
Comme suggéré j'ai créé une balise utilisateur (UDT). Ça réglé mon problème d'accent

N'étant pas expert, j'ai réussi avec l'aide de heriquet à mettre quelque chose en place...

Voici la solution :

$db = cmsms()->GetDb();

$sql = 'SELECT * FROM MATABLE WHERE `CHAMPS1` = ? ORDER BY `CHAMPS2`';

$dbresult =$db->Execute($sql, array($params['CHAMPS1']));
echo $params['CHAMPS1'];
$liste='<ul>';

while ($dbresult && $row = $dbresult->FetchRow())
{
$liste.='<li><a
......................

}
$liste .= '</ul>';

echo $liste;