Olivier Miakinen
2008-12-07 22:41:10 UTC
[ diapublication entre fcl.php et fcl.javascript, suivi sur fcl.php(¹) ]
Bonjour,
La question que je me pose, je suis étonné de ne pas l'avoir encore vue
passer. Je n'ai rien trouvé non plus dans la FAQ, même si j'ai trouvé
la question inverse (avec une réponse lapidaire assez logique :
<http://faqfclphp.free.fr/#rub2.8>).
Je voudrais transmettre le contenu d'une variable de type chaîne de
caractères de PHP à JavaScript. À priori, rien de plus simple :
var str = '<?php echo $str; ?>';
Mais le problème, c'est que la chaîne en PHP $str peut contenir à peu
près n'importe quoi, par exemple des caractères chinois ou japonais,
mais aussi des apostrophes simples (') ou doubles ("), des sauts de
ligne, des barres obliques dans un sens et dans l'autre (/ et \) et
ainsi de suite.
Je précise que le codage de $str est de l'UTF-8, et celui du fichier
HTML aussi. Il ne peut pas y avoir de caractère invalide (genre une
valeur CP1252 entre 128 et 159 transformée en UTF-8 comme si c'était
du Latin-1) mais à peu près tout point de code valide entre U+0001 et
U+FFFF est susceptible de s'y retrouver.
Comment puis-je faire pour assurer que ça marche dans tous les cas ?
Cordialement,
Bonjour,
La question que je me pose, je suis étonné de ne pas l'avoir encore vue
passer. Je n'ai rien trouvé non plus dans la FAQ, même si j'ai trouvé
la question inverse (avec une réponse lapidaire assez logique :
<http://faqfclphp.free.fr/#rub2.8>).
Je voudrais transmettre le contenu d'une variable de type chaîne de
caractères de PHP à JavaScript. À priori, rien de plus simple :
var str = '<?php echo $str; ?>';
Mais le problème, c'est que la chaîne en PHP $str peut contenir à peu
près n'importe quoi, par exemple des caractères chinois ou japonais,
mais aussi des apostrophes simples (') ou doubles ("), des sauts de
ligne, des barres obliques dans un sens et dans l'autre (/ et \) et
ainsi de suite.
Je précise que le codage de $str est de l'UTF-8, et celui du fichier
HTML aussi. Il ne peut pas y avoir de caractère invalide (genre une
valeur CP1252 entre 128 et 159 transformée en UTF-8 comme si c'était
du Latin-1) mais à peu près tout point de code valide entre U+0001 et
U+FFFF est susceptible de s'y retrouver.
Comment puis-je faire pour assurer que ça marche dans tous les cas ?
Cordialement,
--
Olivier Miakinen
(¹) Si votre réponse utilise plus de JavaScript que de PHP, n'hésitez
pas à changer de groupe pour la suite de la discussion.
Olivier Miakinen
(¹) Si votre réponse utilise plus de JavaScript que de PHP, n'hésitez
pas à changer de groupe pour la suite de la discussion.