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

jQuery Discussion :

Gestion des caractères spéciaux


Sujet :

jQuery

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2009
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2009
    Messages : 22
    Par défaut Gestion des caractères spéciaux
    Bonjour,

    J'ai un petit problème de gestion des caractères spéciaux.

    Je récupère des données via un script php et requête JSON :

    Script php (allégé) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
    <?php
     ...
     // Requête
     $sql = "SELECT id, title, directors, year, length, synopsis, public, studio, note, viewTi, viewVa, categories, countries, cast FROM movies WHERE id = " . $id;
            
     ...
     $data = array('id' => htmlentities($record['id']),
                        ...
                        'synopsis' => htmlentities($record['synopsis']),
                        ...
                        );
     
     echo json_encode($data);
    ?>
    Le code JQuery (allégé de même) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
     
    <html>
     <head>
      <meta http-equiv="content-type" content="text/html; charset=utf-8" />
      <title>MyDVD</title>
      ...
      <script type="text/javascript">
     
       function viewMovie(data) {
        ...
        $("#synopsis").html(data.synopsis);
        $("#insynopsis").val(data.synopsis);
        ...
       }
     
       $(document).ready(function() {
        $.getJSON("./php/movie.php", {id: '1'}, function(data) {
         viewMovie(data);
        });
       });
      </script>
     </head>
     <body>
      ...
      <span id="synopsis"></span>
      <textarea id="insynopsis" rows="4" cols="100"></textarea>
      ...
     </body>
    </html>
    Le petit souci que je rencontre :
    - Pour le <span>, affichage normal du texte
    - Pour le <textarea>, les caractères spéciaux ne sont pas "traduits"

    Par exemple :
    - <span> = "Pour sauver la peau de son frère"
    - <textarea> = "Pour sauver la peau de son fr&egrave;re"

    Je ne comprends pas pourquoi, certainement l'utilisation du htmlentities côté php et de la fonction val() (seule fonction trouvée pour ajouter du texte sur un textarea) côté JQuery.

    Quelqu'un aurait-il une solution/explication ?

    Merci d'avance.

  2. #2
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  3. #3
    Membre Expert
    Avatar de Loceka
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    2 276
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 2 276
    Par défaut
    Essaye avec urlencode() côté PHP et decodeURI() côté javascript.

  4. #4
    Membre averti
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2009
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2009
    Messages : 22
    Par défaut
    Même si je n'ai pas utilisé à proprement parlé vos solutions, elles m'ont apporté des pistes.

    Au lieu de htmlentities() côté php, j'utilise utf8_encode() et cela fonctionne.

    Merci bien.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. gestion des caractères spéciaux
    Par FamiDoo dans le forum ASP.NET
    Réponses: 11
    Dernier message: 10/07/2007, 13h35
  2. [AJAX] Gestion des caractères spéciaux
    Par CrazySeb dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 22/05/2007, 09h43
  3. [MySQL] Gestion des caractères spéciaux dans un update
    Par olivier94 dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 01/03/2007, 17h13
  4. Gestion des caractères spéciaux (micro)
    Par MiJack dans le forum Delphi
    Réponses: 7
    Dernier message: 19/01/2007, 22h41
  5. Gestion des caractères spéciaux
    Par claralavraie dans le forum Oracle
    Réponses: 1
    Dernier message: 22/06/2006, 14h41

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