Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > JavaScript > Bibliothèques & Frameworks > jQuery
jQuery Forum d'entraide sur le framework jQuery. Avant de poster : Tutoriels jQuery, FAQ jQuery, Tous les tutoriels JavaScript, Toutes les FAQ JavaScript
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 20/02/2012, 10h32   #1
Invité de passage
 
Julien ROSSET
Inscription : janvier 2010
Messages : 4
Détails du profil
Informations personnelles :
Nom : Julien ROSSET

Informations forums :
Inscription : janvier 2010
Messages : 4
Points : 1
Points : 1
Par défaut .val() et code ISO

Bonjour,

Je développe un site et sur une de mes pages je voudrais mettre en place un système de traduction automatique (via le site de Google Traduction) d'un champ (<input type="text") quand on clique sur un lien (le système est en javascript avec jQuery).

J'ai parfaitement réussi à récupérer mes champs, le texte à traduire, les langues concernée etc.
L'appel à mon script PHP qui effectue la traduction se fait également sans problème et je récupère le résultat voulu.

Mon problème, c'est quand je veux afficher mon résultat dans ma page web. Le texte traduit s'affiche dans également dans un <input type="text". Pour cela j'utilise la fonction .val de jQuery pour changer la valeur par le texte traduit.
Dans le cas de langues ayant un alphabet latin (français, anglais, etc.) tous se passe bien.
Mais quand on passe avec des caractères d'un autre alphabet (comme pour le japonais ou le chinois), jQuery m'affiche des "&# 12521;&# 12505;&# 12523;" (j'ai inséré des espaces pour qu'ils s'affiche correctement ici) à la place des symboles attendus (tout mon système est en UTF-8, y compris la traduction Google, donc je doute que le problème vienne d'un soucis d'encodage).

Donc, est-ce que quelqu'un voit comment faire pour que je puisse afficher les véritables symboles plutôt que leur code ISO équivalent ?

Si je ne suis pas très clair, n'hésitez pas à me poser des questions pour avoir plus de précisions.
Quoiqu'il en soit, je vous remercie d'avance de vos réponses.
darkelfe est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/02/2012, 11h41   #2
Rédacteur/Modérateur
 
Avatar de SpaceFrog
 
Homme
Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Inscription : mars 2002
Messages : 30 079
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Royaume-Uni

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

Informations forums :
Inscription : mars 2002
Messages : 30 079
Points : 45 210
Points : 45 210
A mon avis tu as raté une étape du 100% utf8 sinon val retournerait les caractères accentués...
__________________
Ma page 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


réalisations :www.planet-languages.com|www.saftair.com| www.ouestisol.fr | www.sebemex.fr | www.extramiante.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr
SpaceFrog est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/02/2012, 12h48   #3
Invité de passage
 
Julien ROSSET
Inscription : janvier 2010
Messages : 4
Détails du profil
Informations personnelles :
Nom : Julien ROSSET

Informations forums :
Inscription : janvier 2010
Messages : 4
Points : 1
Points : 1
Merci de ton aide.

Malheureusement, j'ai beau vérifier et re-vérifier, ça n'a pas l'air de venir de ça. Ma requête ajax demande bien de l'UTF-8, la page de google translation est également en UTF-8.

Le seul point que je contrôle pas vraiment, c'est que je récupère le résultat en analysant la page de résultat (celle de Google Translation) via Lynx. Il est possible qu'il y est un problème d'encodage à ce niveau, mais je ne vois pas comment en être sûr.
darkelfe est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/02/2012, 13h15   #4
Rédacteur/Modérateur
 
Avatar de SpaceFrog
 
Homme
Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Inscription : mars 2002
Messages : 30 079
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Royaume-Uni

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

Informations forums :
Inscription : mars 2002
Messages : 30 079
Points : 45 210
Points : 45 210
tous tes fichiers sont ils en utf-8 , pas les balises meta, je parle du fichier lui même
__________________
Ma page 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


réalisations :www.planet-languages.com|www.saftair.com| www.ouestisol.fr | www.sebemex.fr | www.extramiante.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr
SpaceFrog est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/02/2012, 14h23   #5
Invité de passage
 
Julien ROSSET
Inscription : janvier 2010
Messages : 4
Détails du profil
Informations personnelles :
Nom : Julien ROSSET

Informations forums :
Inscription : janvier 2010
Messages : 4
Points : 1
Points : 1
Désolé.

En ce qui concerne les pages de mon site, oui c'est sûr elle sont toute en UTF-8 (vérifié et re-vérifié et les autres données s'affichent correctement). Pour Google c'est une supposition mais tout semble indiquer que c'est le cas.

Le plus étrange, c'est que si j'enregistre ces codes dans ma base de donnée, quand je réaffiche la page les symboles réels apparaissent.
C'est un peu comme si (il s'agit de mon interprétation personnelle, c'est tout) jQuery affichait du texte pure et pas des "code" HTML.
darkelfe est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/02/2012, 20h57   #6
Rédacteur
 
Avatar de danielhagnoul
 
Homme Daniel Hagnoul
Étudiant perpétuel
Inscription : février 2009
Messages : 3 221
Détails du profil
Informations personnelles :
Nom : Homme Daniel Hagnoul
Âge : 61
Localisation : Belgique

Informations professionnelles :
Activité : Étudiant perpétuel
Secteur : Enseignement

Informations forums :
Inscription : février 2009
Messages : 3 221
Points : 6 767
Points : 6 767
Bonsoir

Bien que vous soyez absolument certain d'être en UTF-8, je vous conseille tout de même de lire ce tutoriel : Passez à l'UTF-8 sans manquer une étape par Josselin Willette.

Citation:
Le seul point que je contrôle pas vraiment, c'est que je récupère le résultat en analysant la page de résultat (celle de Google Translation) via Lynx. Il est possible qu'il y est un problème d'encodage à ce niveau, mais je ne vois pas comment en être sûr.
http://www.google.be/webhp?sourceid=...w=1479&bih=917
__________________

FAQ jQuery

Mon cahier d’exercices sur jQuery & Co

Si un message vous a aidé ou vous semble pertinent, votez pour lui !
danielhagnoul est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/02/2012, 09h02   #7
Invité de passage
 
Julien ROSSET
Inscription : janvier 2010
Messages : 4
Détails du profil
Informations personnelles :
Nom : Julien ROSSET

Informations forums :
Inscription : janvier 2010
Messages : 4
Points : 1
Points : 1
Merci à toi. Je ne connaissait pas cet article pour le passage vers l'UTF-8, je vais regarder ça en détails mais il me semble que j'ai déjà tout en place (sauf peut-être au niveau de la base de donnée).

J'ai néanmoins réussi à faire fonctionner mon site. Visiblement le problème venais de jQuery, mais je ne suis pas sûr.
Désormais je place le texte récupéré comme du HTML dans une balise puis place le texte correspondant dans mon input. J'ai également "supprimé" l'utilisation de Lynx et utilise la fonction file_get_contents du PHP.

Quoiqu'il en soit merci de votre aide.
darkelfe est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 02h12.


 
 
 
 
Partenaires

Hébergement Web