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

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 46
    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.

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

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Octobre 2006
    Messages : 243
    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 averti
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 46
    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

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

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Octobre 2006
    Messages : 243
    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 averti
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 46
    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

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

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Octobre 2006
    Messages : 243
    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 émérite 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
    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 averti
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 46
    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".

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