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

Langage PHP Discussion :

Deux charset dans la même application, problème d'accents


Sujet :

Langage PHP

  1. #1
    Membre actif Avatar de FrankOVD
    Homme Profil pro
    Directeur des systèmes d'information
    Inscrit en
    Juin 2005
    Messages
    438
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Directeur des systèmes d'information
    Secteur : Biens de consommation

    Informations forums :
    Inscription : Juin 2005
    Messages : 438
    Points : 254
    Points
    254
    Par défaut Deux charset dans la même application, problème d'accents
    Bonjour,

    J'ai un problème avec une fonction qui s'appelle jsalert() et qui me sert à générer un message d'alerte en Javascript. Je lui passe en paramètre la même chaine de caractères contenant des caractères accentués.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    php.ini
    default_charset = "iso-8859-1"
    Si j'appelle jsalert() à partir de mon fichier index.php, le message va apparaître correctement dans la boîte de dialogue. (EX : "Bon été!);

    Si j'appelle jsalert() à partir de mon fichier requete.php (inclus dans index.php), le accents du message seront affichés de façon bizare. (EX : "Bon Å©tÅ©")

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    php.ini
    default_charset = "UTF-8"
    Si j'appelle jsalert() à partir de mon fichier index.php, les accents du message seront remplacés par des carrés. (EX : "Bon □t□!);

    Si j'appelle jsalert() à partir de mon fichier requete.php (inclus dans index.php), le message va apparaître correctement dans la boîte de dialogue. (EX : "Bon été!);

    Pourtant, c'est la même fonction, définie dans un même fichier appelé "javascript.php" inclus dans index.php. J'aimerais obtenir un résultat uniforme ou mes messages apparaîssent de façon uniforme. Je sais que le problème ne vient pas de ma fonction car je l,ai remplacée par l,instruction echo et j'ai le même résultat.
    Pensez à la balise

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    J'aimerais obtenir un résultat uniforme
    il faut que tout sois uniforme alors
    controle dans quel encodage sont écrits tes fichiers et quel encodage est ecrit dans ton code html.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre habitué
    Inscrit en
    Août 2008
    Messages
    117
    Détails du profil
    Informations personnelles :
    Âge : 49

    Informations forums :
    Inscription : Août 2008
    Messages : 117
    Points : 139
    Points
    139
    Par défaut
    Bahh, il peut y avoir des exceptions ...

    pour transformer un UTF-8 en ISO-8859

    Un $result = utf8_decode($var) fera l'affaire ....

  4. #4
    mon_nom_est_personne
    Invité(e)
    Par défaut
    moue, je suis assez d'accord avec sabotage, d'abord etre uniforme, si tu bosse qu'avec du francais, et que t'as pas d'interaction avec du flash ou autre mets tout en iso truc, sinon met tout en utf8 php+html.
    un autre truc pour prevenir les problemes d'encodage c'est avant tout de s'assure que l'encodage du script ( j'entend par la du fichier texte qu'il est ) et le meme que celui de sortie, sinon sa par en sucette 100% du temps.
    une solution qui marche bien pour se prevenir de ce genre de probleme c'est smarty. Dans smarty tu peux utiliser des filters de post compilation qui vont convertir n'importe quoi de ta vue en encodage que tu veux. Donc UTF8 dans ta logique et a la fin tu converti en iso et fin de l'histoire. sinon utilise q'un seul encodage pour tout.

Discussions similaires

  1. [2.x] [Symfony2]Problème Ajout de deux entités dans un même form
    Par the ing dans le forum Symfony
    Réponses: 1
    Dernier message: 14/12/2012, 17h48
  2. Réponses: 3
    Dernier message: 10/10/2008, 18h43
  3. [MySQL] problème avec deux requetes dans un même script
    Par leclone dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 09/02/2007, 10h28
  4. [VBS] -- [InputBox] Deux inputbox dans la même fenêtre
    Par Edoxituz dans le forum VBScript
    Réponses: 16
    Dernier message: 26/02/2006, 22h29
  5. Réponses: 2
    Dernier message: 03/06/2005, 10h19

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