Voici mon problème, je reçois une chaîne d'un Webservice de savon qui semble contenir UTF8 codé% c3% 89. Cette chaîne est une URL que je dois atteindre pour obtenir une image qui contient une partie de l'URL.Java (Android) Caractère UTF-8 dans la chaîne
Mon problème est que le serveur générant l'image ne reconnaît pas le codage% c3% 89 et ne crée donc pas le droit. Lorsqu'il est remplacé par sa représentation normale (c'est-à-dire É), le serveur génère correctement l'image.
Ma question est: Comment puis-je remplacer le caractère encodé dans la chaîne?
Ps: Je n'ai pas accès au côté serveur
voici mon code
URL aURL = new URL(URLDecoder.decode(url)); URLConnection conn = aURL.openConnection(); conn.connect(); InputStream is = conn.getInputStream(); BufferedInputStream bis = new BufferedInputStream(is); bm = BitmapFactory.decodeStream(bis);
Merci beaucoup :)
Chut
Merci pour votre réponse mais cela n'a pas résolu mon problème. Je vais essayer de me faire comprendre. 'URL aURL = nouvelle URL (URLDecoder.decode (url)); URLConnection conn = aURL.openConnection(); conn.connect(); InputStream est = conn.getInputStream(); ' À ce stade, l'URL utilisée par l'objet UrlConnection est compréhensible pour le serveur (lorsque je la copie, je la colle sur un navigateur et renvoie la bonne image). Le problème passe par InputStream qui, apparemment, ne pas envoyer la même demande en tant que navigateur ... Je suis genre de là perdu ... – Hush
Que voulez-vous dire par « en passant par InputStream »? Désolé, après tout, votre question est assez confuse et ambiguë. Le fait est, quelque part le mauvais encodage est utilisé pour décoder le personnage. – BalusC
@BalusC vous venez de me sauver de commettre sucide: D –