Webkit + URL avec caractères accentués

UniXUniX Membre
22:17 modifié dans Vos applications #1
Salut.

Toujours plongé dans le webkit, je souhaiterais pouvoir passer en URL des caractères accentués (l'URL contient des infos traitées par le site distant).
Lorsque je fais ça, rien ne s'affiche dans ma webView, alors que si je passe la même URL dans Safari, la page s'affiche normalement.

Quelle est l'astuce ?

Réponses

  • BruBru Membre
    22:17 modifié #2
    dans 1169390377:

    Quelle est l'astuce ?


    L'astuce, c'est la méthode stringByAddingPercentEscapesUsingEncoding: de NSString.

    Cette méthode retourne un NSString conforme pour un url : les espaces et autres caractères bizarres sont remplacés par des séquences "escapées", c'est à  dire un % (pourcentage) suivi du code ascii du caractère bizarre (ce code ascii étant spécifique au type d'encodage que tu précises en paramètre de la méthode).

    Mais bon, tu t'exposes à  des emmerdes à  n'en plus finir avec tes url accentuées...
    C'est contraire aux RFC, et bien sûr, c'est complètement problématique, puisque tout ascii supérieur à  127 est interprété librement selon la plate-forme sur laquelle et le client web tourne, et le serveur web tourne.

    Bon courage !

    .
  • tabliertablier Membre
    22:17 modifié #3
    Trop rapide Bru! je me suis fait griller sur le poteau!

    Je n'ajoute rien car j'allais conseiller la même méthode!
  • UniXUniX Membre
    janvier 2007 modifié #4
    Merci à  vous deux.

    Je suis obligé d'utiliser des caractères accentués. Comme je l'ai dit, ces URL servent à  passer des paramètres au site (c'est Google Maps), et ils peuvent contenir des caractères accentués.

    Et puis, si ça déconne, c'est pas bien grave, puisque ça ne sert qu'à  passer le nom des lieux. Au pire ils s'afficheront avec des trucs bizarres ...
  • BruBru Membre
    22:17 modifié #5
    dans 1169403655:

    (c'est Google Maps)


    Pour Google Maps, choisis l'encodage utf-8 : ça passe très bien (NSUTF8StringEncoding comme argument à  la méthode).

    .
  • UniXUniX Membre
    22:17 modifié #6
    Ouais, c'est celui que j'ai adopté, et ça marche bien.

    Merci.
Connectez-vous ou Inscrivez-vous pour répondre.