Bonjour
dans une application android dont la quelle j'ai affiché dans un webview,mais les données sont mal afficher (par exemple " Date Création" ).
comment je peux corriger l'encodage de cette string?
Version imprimable
Bonjour
dans une application android dont la quelle j'ai affiché dans un webview,mais les données sont mal afficher (par exemple " Date Création" ).
comment je peux corriger l'encodage de cette string?
Bonjour,
Tu peux modifier l'encoding lorsque tu charge la page.
http://developer.android.com/referen...a.lang.String)
merci pour la réponse,mais dans mon cas je charge des données c'est à dire une string qui contient un code html
voilà le code:
Code:
1
2 webview.loadData(a.trim(), "text/html", "UTF-8");
Salut,
j'ai trouvé la bonne solution
voilà le code:
Code:
1
2
3
4
5
6
7
8
9 String html ="<html>" +"<head>" +"<meta HTTP-EQUIV=\"content-type\" CONTENT=\"text/html\"; charset=\"UTF-8\"/>" + "<style type=\"text/css\">body{color: #000;font-size:10px;}" + "</style></head>" + "<body>" + a + "</body></html>"; webview.loadData(html, "text/html", "UTF-8");
Forcément si le code HTML au départ est pas bon....
bonjour,
pourquoi pas bon ?
HTML ne définit pas d'encodage spécifique... HTML c'est juste du texte...
HTTP par contre, devrait dans tous les cas renvoyer le charset dans le "Content-Type" header... quand du texte est renvoyé genre:
Le problême, est que pour générer cela, il faudrait que le serveur *sache* que le fichier HTML est en UTF-8 (par exemple). Pour cela, le *serveur* *devrait* lire le fichier HTML et y trouver les balises 'meta' adaptées (car ces balisent sont pour le serveur, et pas pour le browser):Code:
1
2Content-Type: text/html; charset=UTF-8
ouCode:
1
2 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
Malheureusement, cela n'est que rarement fait, et du coup les *browsers* se chargent de trouver le bon encoding par eux-même... allant à l'encontre de la RFC #2616 qui est très claire la dessus, en cas de header manquant, le charset *doit* etre considéré come ISO-8859-1Code:
1
2<meta charset="utf-8">
Bon... sinon... pour l'HTML... il existe heureusement quelques cas, ou l'encoding n'est pas très important, c'est le cas en particulier pour les accents:
Date Création s'écrit en HTML:
Et là, plus de probleme d'encoding...Code:
1
2 Date Création