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

Android Discussion :

Webapp, Javascript et Toast


Sujet :

Android

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 13
    Points : 7
    Points
    7
    Par défaut Webapp, Javascript et Toast
    Bonjour,

    J'utilise un WebView pour charger un site spécial mobile.

    Coté client, j'ai ce code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
      public void showToast(String toastMsg) throws IOException {
            String text = new String(toastMsg.getBytes(), "utf-8");
            Toast.makeText(mContext, text, Toast.LENGTH_LONG).show();
    }
    Coté serveur, j'ai ce code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
      Android.showToast("ceci est un message à écrire à l'écran");
    Donc, tout fonctionne impeccablement, sauf qu'à l'affichage sur le périphérique Android, j'ai ceci comme résultat:
    ceci est un message a écrire a l'écran
    J'ai les accents des "e" mais pas des "a".

    Pour info, la page PHP coté serveur:
    J'ai déjà essayé de la changer par iso, mais la solution est pire, il n'y a même plus d'accents sur les "e" qui sont remplacés par des caractères...., espace et illisibles.

    Quelqu'un saurait-il m'expliquer d'où vient le problème ?

    Merci d'avance pour votre aide.

  2. #2
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 13
    Points : 7
    Points
    7
    Par défaut
    up !
    :-/

    Edit: désolé, j'avais oublié, j'ai tellement de forum à lire que...

  3. #3
    Expert éminent

    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Février 2007
    Messages
    4 253
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2007
    Messages : 4 253
    Points : 7 618
    Points
    7 618
    Billets dans le blog
    3
    Par défaut
    Attention aux 'ups':
    http://club.developpez.com/regles/#L4.7


    C'est quoi ca ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    String text = new String(toastMsg.getBytes(), "utf-8");
    Ça dit grosso modo:
    Soit la chaîne java toastMsg (UTF-16 donc)
    Je veux que en récupérer les bytes (UTF-16 donc toujours)
    Et construire avec, une chaîne de caractères partant du principe que c'est de l'UTF-8 !
    Je ne vois pas comment cela pourrait marcher... Du jour ou on a une chaîne Java, c'est fini, on n'a plus besoin d'encoding...

    Ensuite je ne comprends pas les références...;
    Android.showToast() dans javascript... C'est quoi 'Android' ? une interface exposée a travers une web-view ? (addJavascriptInterface) ?

    Une librairie externe ? Dans ce cas laquelle ?

    L'appel est lui même à l'intérieur d'un script... quel est le charset du script ?

    Tu parles de page PHP coté serveur... PHP n'est pas une page, mais un script de construction de pages (plus assimilé à une servlet donc). Le PHP lui-même étant un script, il est en quel charset ?

    Le serveur indique un meta charset UTF-8 pour la page construite, soit, mais indique-t-il un charset dans les headers ? Est-ce le bon charset ?

    Que donne la source finale de la page HTML dans un browser classique ?
    N'oubliez pas de cliquer sur mais aussi sur si un commentaire vous a été utile !
    Et surtout

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 13
    Points : 7
    Points
    7
    Par défaut
    Merci de la réponse

    Donc coté serveur, tout sort en utf-8, sur un navigateur ça sort impeccable dans le code source html.
    La fonction Android.showToast() est ajoutée par addJavascriptInterface pour le coté android (sur le device donc).
    C'est censé remplacer la fonction alert() de javascript qui ne fonctionne pas sous android et les webview.
    Sinon, tous les charset sont en utf-8.

  5. #5
    Expert éminent

    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Février 2007
    Messages
    4 253
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2007
    Messages : 4 253
    Points : 7 618
    Points
    7 618
    Billets dans le blog
    3
    Par défaut
    Et un simple
    Toast.makeText(mContext, toastMsg, Toast.LENGTH_LONG).show();
    (donc sans la conversion 'text' absurde)
    ça ne marche pas ?

    Peux tu nous montrer justement les "byte[]" recus
    Eventuellemnt en UTF-8, par exemple:

    byte[] bytes = toastMsg.getBytes("UTF-8");
    N'oubliez pas de cliquer sur mais aussi sur si un commentaire vous a été utile !
    Et surtout

Discussions similaires

  1. JavaScript<---->ActionScript
    Par crazypiou dans le forum Flash
    Réponses: 21
    Dernier message: 17/04/2009, 17h14
  2. appel xmlservice via fonction javascript
    Par pram dans le forum XMLRAD
    Réponses: 2
    Dernier message: 06/05/2003, 14h24
  3. JavaScript de vérification de formulaire
    Par [DreaMs] dans le forum XMLRAD
    Réponses: 6
    Dernier message: 26/02/2003, 13h48

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