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
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 : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 webview.loadData(a.trim(), "text/html", "UTF-8");
Salut,
j'ai trouvé la bonne solution
voilà le code:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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....
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 : Sélectionner tout - Visualiser dans une fenêtre à part
1
2Content-Type: text/html; charset=UTF-8
ou
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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-1
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 Date Création
Partager