IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

EDI, CMS, Outils, Scripts et API PHP Discussion :

Template en ISO mais je veux de l'UTF-8


Sujet :

EDI, CMS, Outils, Scripts et API PHP

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 46
    Points : 20
    Points
    20
    Par défaut Template en ISO mais je veux de l'UTF-8
    Bonjour à toutes et à tous

    Excusez moi par avance si ma question semble bête ; je viens seulement d'installer Joomla., et j'ai eu beau chercher je n'ai pas trouvé la réponse.

    Je dois utiliser l'encodage UTF-8 mais le Template de base que je compte adapter à mes besoins est en iso-8859-1.
    J'ai pensé un moment que c'était dans le backend qu'on devait déclarer l'encodage que l'on souhaitait utiliser mais je n'ai pas trouvé.

    Je suis allé ensuite dans le fichier index.php du template et j'ai trouvé ce morceau de code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    defined( '_VALID_MOS' ) or die( 'Restricted access' );
    $iso = explode( '=', _ISO );
    echo '<?xml version="1.0" encoding="'. $iso[1] .'"?' .'>';
    Est-ce ici que l'on doit déclarer l'encodage ? Et comment ?
    Merci de vos réponses.
    Bonne journée,
    Philippe

  2. #2
    Membre averti
    Avatar de opware2000
    Homme Profil pro
    Enseignant
    Inscrit en
    Octobre 2006
    Messages
    243
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Octobre 2006
    Messages : 243
    Points : 382
    Points
    382
    Par défaut
    déjà tu n'as pas ouvert le index.php mais le xml associé (vu le <?xml version ...>). Dans le index.php trouve cette ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <meta http-equiv="Content-Type" content="text/html; <?php echo _ISO; ?>" />
    en modifiant <?php echo _ISO; ?> par utf-8 tu pourras le faire, mais je ne garantie pas le résultat (surtout au niveau des lettres accentuées). Car normalement Joomla 1.0x ne sait pas gérer l'utf-8 dans la génération de ses pages (le codage sera de l'iso) du fait que la base est en latin-1.
    As tu absolument besoin de l'utf-8 ? car en iso-8859-1 tu as déjà tous les caractères des alphabets latins et tu peux inclure les caractères japonais par exemple, j'ai fait l'essai.

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 46
    Points : 20
    Points
    20
    Par défaut
    Bonjour opware
    et merci beaucoup pour ta réponse.
    Oui je pense avoir besoin de l'UTF-8 car la demande de mon prospect est que le site doit être multilingue :
    - en français dès le départ
    - puis en anglais, en espagnol et en russe.

    Après avoir goûté Joomla pendant 3/4 heures j'ai le sentiment qu'il correspond au cahier des besoins. Mais sur ce point de la gestion multilingue je ne dois pas me tromper.

    Même si le backend reste en français un composant ou un module (excuse-moi d'avance pour mon ignorance) doit permettre de basculer le site en russe.
    Comment m'en débrouiller avec cette langue alors que j'ai vu beaucoup de sites russes utilisant Joomla (j'étais surpris d'ailleurs de voir la formidable popularité de ce CMS).

    Bien à toi,
    Philippe
    Bonne journée,
    Philippe

  4. #4
    Membre averti
    Avatar de opware2000
    Homme Profil pro
    Enseignant
    Inscrit en
    Octobre 2006
    Messages
    243
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Octobre 2006
    Messages : 243
    Points : 382
    Points
    382
    Par défaut
    joomfish permet la gestion multilingue.

    pour l'anglais et l'espagnol pas de soucis les alphabets sont les mêmes qu'en iso8859-1, pour le russe... euh je crois que ca peut le faire quand même (mais faudrait essayer)

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 46
    Points : 20
    Points
    20
    Par défaut
    Citation Envoyé par opware2000
    déjà tu n'as pas ouvert le index.php mais le xml associé (vu le <?xml version ...>). Dans le index.php trouve cette ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <meta http-equiv="Content-Type" content="text/html; <?php echo _ISO; ?>" />
    en modifiant <?php echo _ISO; ?> par utf-8 tu pourras le faire, mais je ne garantie pas le résultat (surtout au niveau des lettres accentuées). (...)
    Hello opware.
    C'est bien en-tête du fichier index.php que je trouve ces lignes (dans les templates Rhuk ou MadeYourWeb) pourtant.
    Le fichier XML me semble indépendant du reste : en l'ouvrant je crois comprendre qu'il ne sert qu'à décrire le contenu du Template.
    Tu n'aurais pas ça de ton côté ?
    Le PHP n'étant pas mon fort (c'est un euphémisme) je ne sais trop quelles lignes changer pour lui désigner l'UTF-8 en encodage.
    En remplacant <?php echo _ISO; ?> par utf-8 le script génère une erreur.

    Bien à toi
    Bonne journée,
    Philippe

  6. #6
    Membre averti
    Avatar de opware2000
    Homme Profil pro
    Enseignant
    Inscrit en
    Octobre 2006
    Messages
    243
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Octobre 2006
    Messages : 243
    Points : 382
    Points
    382
    Par défaut
    Citation Envoyé par nomasis
    Hello opware.
    C'est bien en-tête du fichier index.php que je trouve ces lignes (dans les templates Rhuk ou MadeYourWeb) pourtant.
    Le fichier XML me semble indépendant du reste : en l'ouvrant je crois comprendre qu'il ne sert qu'à décrire le contenu du Template.
    Tu n'aurais pas ça de ton côté ?
    Le PHP n'étant pas mon fort (c'est un euphémisme) je ne sais trop quelles lignes changer pour lui désigner l'UTF-8 en encodage.
    En remplacant <?php echo _ISO; ?> par utf-8 le script génère une erreur.

    Bien à toi
    Le xml sert lors de l'installation (upload) du template dans l'admin de joomla c'est tout.

    oups j'ai oublié de te faire mettre le mot charset !
    donc remplace toute la ligne par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />

  7. #7
    Membre expérimenté Avatar de slim
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2002
    Messages
    938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2002
    Messages : 938
    Points : 1 337
    Points
    1 337
    Par défaut
    L'utilisation du charset en dur est déconseillée. C'est pour cela que ce bout de code est utilisé :
    je te propose de faire un test sur la langue utilisée et de changer la valeur de _ISO (ou d'une autre variable que tu peux créer).
    Faites une recherche sur le forum et/ou sur internet et lisez la doc officielle avant de poser une question svp.
    et n'oubliez pas de lire les FAQ !
    FAQ Java et les cours et tutoriels Java
    Doc JAVA officielle
    AngularJS 1.x
    Angular 2

    Do it simple... and RTFM !

  8. #8
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 46
    Points : 20
    Points
    20
    Par défaut
    Bonjour opware
    bonjour slim

    et merci pour vos réponses ; vous m'aidez beaucoup.

    Pour rappel, la déclaration contenue dans le fichier index.php est celle-ci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    defined( '_VALID_MOS' ) or die( 'Restricted access' );
    $iso = explode( '=', _ISO );
    echo '<?xml version="1.0" encoding="'. $iso[1] .'"?' .'>';
    slim, j'avais procédé en cherchant comment appeler l'encodage UTF-8, mais quoique je fasse cela génère (en html) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <?xml version="1.0" encoding=""?>
    et en meta :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    Par contre si j'enlève cette portion de code et que je la mette en dur dans la balise meta comme l'indique opware, l'UTF-8 est bien appelé.

    Mais comme toi (opware nous corrigera le cas échéant) j'ai peur que cela provoque des effets de bords avec des composants ou modules que je pourrais installer plus tard.

    Bien à vous,
    Philippe

    EDIT :
    j'avais écris ce matin à une web agency située à Minsk en Biélorussie.
    Leur site est situé à http://www.belitsoft.com/

    Voici ce qu'ils me répondent (c'est quand même extra le web ! ) :
    Dear Philippe!

    Thank you very much for your letter. We'll be glad to help you with multilingual web site building.
    You can solve your problem with encoding in a simple way - you can use either UTF-8 or Win-1251.
    You can use multilingual web Joom!Fish - multilingual content manager.
    The correct reflection of code depends on the using operation system (Linux or Windows), database, and hosting parameters.
    The second way is to install one more Joomla version with other encoding.
    Thank you for your interest
    Best regards,
    Là je coince !
    1/ windows-1251 déclaré en tant qu'encodage ?
    N'est-ce pas dans un environnement Windows seul ?
    (PHP lui ne gère pas autre chose que l'utf-8 et l'iso-8859-1 non ?)
    Le site sera chez OVH en environnement LAMP donc devrait poser problème.
    2/ windows-1251 c'est pour le language cyrilique seul non ?
    Comment arrivent-ils à afficher l'anglais correctement ?
    C'est le client navigateur Web qui prend la main ?

    2nd EDIT : j'avais écris balise en oubliant le "L".
    Bonne journée,
    Philippe

  9. #9
    Membre expérimenté Avatar de slim
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2002
    Messages
    938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2002
    Messages : 938
    Points : 1 337
    Points
    1 337
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    defined( '_VALID_MOS' ) or die( 'Restricted access' );
    $iso = explode( '=', _ISO );
    echo '<?xml version="1.0" encoding="'. $iso[1] .'"?' .'>';
    Exact. Il faut donc laisser le code tel quel et voir où l'affectation du tableau $iso se produit.


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <?xml version="1.0" encoding=""?>
    S'il n y'a pas de valeur pour le "encoding", ca veut dire que la variable $iso est vide.



    Citation Envoyé par nomasis
    Mais comme toi (opware nous corrigera le cas échéant) j'ai peur que cela provoque des effets de bords avec des composants ou modules que je pourrais installer plus tard.
    Effectivement. Il faut donc rien coder en dur !
    Faites une recherche sur le forum et/ou sur internet et lisez la doc officielle avant de poser une question svp.
    et n'oubliez pas de lire les FAQ !
    FAQ Java et les cours et tutoriels Java
    Doc JAVA officielle
    AngularJS 1.x
    Angular 2

    Do it simple... and RTFM !

  10. #10
    Membre expérimenté Avatar de slim
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2002
    Messages
    938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2002
    Messages : 938
    Points : 1 337
    Points
    1 337
    Par défaut
    Autre solution :

    N.B. : j'ai pas joomla sous les yeux. Je vais essayer de m'en rappeler.

    Lorsque tu ajoute une langue a partir du BackEnd (interface administration), il faut mettre "l'appelation" ISO. Pour le francais c'est 'fr'...

    Il y a aussi l'encodage pour chaque langue. C'est là que tu mets utf-8 etc.
    Et avec l'utilisation de joomfish, par exemple, des que tu change la langue, l'encodage est modifié, parce que joomfish fait appel aux fichiers dfe langue de joomla.
    Faites une recherche sur le forum et/ou sur internet et lisez la doc officielle avant de poser une question svp.
    et n'oubliez pas de lire les FAQ !
    FAQ Java et les cours et tutoriels Java
    Doc JAVA officielle
    AngularJS 1.x
    Angular 2

    Do it simple... and RTFM !

  11. #11
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 46
    Points : 20
    Points
    20
    Par défaut
    nos posts ne sont croisés slim alors que j'éditais le précédent.
    Bonne journée,
    Philippe

  12. #12
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 46
    Points : 20
    Points
    20
    Par défaut suite de mes aventures aux pays de l'encodage
    Hello

    J'ai installé Joom!Fish.
    Mais il n'y a pas dedans le fichier de langue pour le Russe (!?).

    Le site Web de l'éditeur est très souvent inaccessible ; les liens vers le dit fichier langue ne conduisent nulle part.

    Je m'interroge maintenant sur la pertinence de construre ce site avec Joomla.

    Auriez vous des remarques sur ce dernier point et d'éventuelles recommandations à me faire pour l'usage d'un autre CMS sachant gérer nativement l'UTF-8 ?

    Merci d'avance pour vos réponses.

    Bien à vous,
    Philippe
    Bonne journée,
    Philippe

  13. #13
    Membre averti
    Avatar de opware2000
    Homme Profil pro
    Enseignant
    Inscrit en
    Octobre 2006
    Messages
    243
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Octobre 2006
    Messages : 243
    Points : 382
    Points
    382
    Par défaut
    J'ai trouvé un post qui pourrait t'aider !
    en fait joomla envois de l'iso 8859-1 déguisé en utf8 du fait de sa base de donnée. MAIS on peut modifier ça ! (c'est une ligne à changer !)

    Dans le fichier includes/database.php à la ligne 102 enlève les commentaires
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    @mysql_query("SET NAMES 'utf8'", $this->_resource);
    Ainsi tout ce que te renverra ta base sera en utf8

  14. #14
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 46
    Points : 20
    Points
    20
    Par défaut
    Hello opware

    ça n'a pas eu l'heur de plaire à certains composants ou modules : je me retrouve avec un backend avec les caractères accentués non reconnus.
    Bonne journée,
    Philippe

  15. #15
    Membre averti
    Avatar de opware2000
    Homme Profil pro
    Enseignant
    Inscrit en
    Octobre 2006
    Messages
    243
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Octobre 2006
    Messages : 243
    Points : 382
    Points
    382
    Par défaut
    on va dire que c'est normal... vérifie si le template de l'admin n'a pas lui aussi un codage en "dur" du format (en iso 8859-1)

  16. #16
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 46
    Points : 20
    Points
    20
    Par défaut
    Hello opware
    en évaluant hier des composants et des modules, Joomla me donne l'impression d'être un projet où règne la pagaille.
    Certaines incompatibilités entre modules ou entre composants...
    Le code qu'il sort pose de nombreux problèmes de compatibilités avec les browsers.
    Il y a des tables html partout avec une organisation façon poupées russes (des tables dans des tables dans des tables...). Et oeuf corse, ça pose de nombreux problèmes d'affichage et produit une certaine lenteur.

    C'est un peu dommage car à en vouloir trop en faire, on se retrouve avec une usine à gaz dont on ne maîtrise plus les commandes.

    Je crois que je vais chercher un CMS qui se situe au niveau de la ligne d'épure (XHTML+CSS/Tableless) pour une meilleure maîtrise de la sortie.

    Je veux encore te remercier pour l'aide que tu m'as apporté.
    Je suivrais attentivement l'évolution de Joomla et il se peut qu'un jour on se retrouve de nouveau pour des échanges.

    Bien à toi,
    Philippe

    NB : slim, si tu me lis, merci à toi aussi bien évidemment
    Bonne journée,
    Philippe

  17. #17
    Membre averti
    Avatar de opware2000
    Homme Profil pro
    Enseignant
    Inscrit en
    Octobre 2006
    Messages
    243
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Octobre 2006
    Messages : 243
    Points : 382
    Points
    382
    Par défaut
    de rien...
    c'est malheureusement une constatation de fait, joomla subit encore les soucis de développement de mambo pour la partie généré qui sont d'autant plus accentué par la pléthore de développeurs tiers qui développent des composants/modules/mambots qui ne respectent pas du tout les standards...

    Bon chance pour la suite.

  18. #18
    Membre régulier Avatar de a_me
    Homme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2004
    Messages
    84
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Novembre 2004
    Messages : 84
    Points : 80
    Points
    80
    Par défaut
    j'ai eu ce problème là..
    changer l'encodage en dur dans le fichier index.php de template ne servira à rien...

    ce que j'ai fait pour remédier à ce problème c'était de créer une nouvelle template, avec son fichier xml (qui sert à l'installation), et dans le fichier xml j'ai spécifié l'encodage voulu, j'ai zipé le tout et j'ai installé la template..
    --- Silence of the Bones ---

Discussions similaires

  1. [Joomla!] Les templates s'installent mais ne fonctionnent pas
    Par netah25 dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 3
    Dernier message: 29/12/2008, 17h53
  2. ça affiche NULL mais je veux que ça affiche rien.
    Par psychoBob dans le forum Général JavaScript
    Réponses: 11
    Dernier message: 20/05/2006, 22h35
  3. Réponses: 9
    Dernier message: 12/01/2005, 17h00
  4. template match="node() mais pas text()"
    Par Manu_Just dans le forum XSL/XSLT/XPATH
    Réponses: 4
    Dernier message: 26/03/2003, 10h52

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo