Communauté Elgg francophone

Créer un compteAide  
Connexion
Plugins et développement
Partage de plugins et ressources utiles pour le développement

comment passer avec des accents dans toute l'application

bonjour,

tous les textes sont en UTF8 comment passer globalement avec un jeu de caractères avec accent

même dans la base de données

 

cordialement

Réponses

  • Florian DANIEL ~ Facyla le 24 janvier 2018

    Bonjour,

    De quelle version d'Elgg s'agit-il ?  UTF-8 (= Unicode) est utilisé depuis la version 1.6 je pense, et les accents sont donc conservés en BDD depuis ce moment-là. Du moins pour les contenus : pour les identifiants le filtre doit être plus strict, de même que pour les URLs d'Elgg qui utilisent le titre d'un contenu (accueil d'un groupe, affichage d'un article, etc.)

    D'autre part il est possible que l'éditeur de texte transforme les accents et autres caractères spéciaux en entités HtmL ("é" , etc.)

    Donc normalement c'est déjà OK.

    Quel est l'objectif ?  A quel endroit les accents ne s'affichent pas ?

  • jmperuchot le 25 janvier 2018

    bonjour,

    je suis en version 2.33 

    c'est bizarre lorsque je me connecte j'ai bien le message avec accent "connecté"

    par contre pour me déconnecté j'avais pas les accents.

    j'ai remis UTF-8 car j'avais fais le test en ISO-8859-1 et je retrouve mes accents

    il y a un comportement bizarre quand même, j'ai vu aussi qu'il faut bien enregistrer ses fichiers au format UTF-8 sinon le codage n'est pas bon

     

  • jmperuchot le 2 février 2018

    pour que la base de données soit bien rempli avec les accents il faut mettre

    $conn = mysqli_connect($DB_HOST,$DB_USERNAME,$DB_PASSWORD,$DB_NAME)or die( "Unable to select database :".mysqli_error() );

    mysqli_set_charset($conn,'utf8');

    pour le site il faut

    en php

      ini_set( 'default_charset', 'UTF-8' );

    en html

    <meta http-equiv="content-type" content="text/html;charset=UTF-8" /> 

    pour certaine chaine

    $chaine=utf8_encode (chaine avec accents);