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é) :
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 <?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 petit souci que je rencontre :
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>
- 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è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.
Partager