La sortie de WebView est affichée ci-dessous p> p> Comment puis-je afficher le caractère exact dans webview? p> Le code J'ai utilisé une vue Web indiquée ci-dessous p>
6 Réponses :
1) Utilisez webview.loaddawithbaseURL, il se comporte différent (mieux) que webview.loaddata p>
2) Essayez de remplacer le codage "UTF-8" par un autre, par exemple US-ASCII. Le mieux est de déterminer ce que le codage est vraiment utilisé dans le texte que vous essayez d'afficher. P>
J'ai remplacé la phrase wv.loaddata (objet1.Getstring ("post_content"). ToString (), "Texte / HTML", "US-ASCII"); Mais le résultat est la même aucun changement
C'est fou, mais ça marche. Toute explication sur laquelle LoadDawithbaseURL est meilleure?
LoadData stocke les paramètres des paramètres de la chaîne et transmet ce paramètre à Loadurl. LoadDawithbaseURL se charge directement. Etude webview source et vous apprendrez;)
Pour moi, simplement en utilisant webview.loaddawithbaseurl (null, htmlsource, "text / html", "utf-8", null) code> au lieu de
webview.loaddata (htmlsource, "text / html" , "Utf-8") code> corrige les problèmes de codage. Merci!
webview.loaddawithbaseURL () fonctionne comme par magie pour après avoir du mal pendant une heure. Merci
Ceci est un bizarre Android Quirk
J'ai corrigé mes problèmes avec l'utilisation de "Texte / HTML; Charset = UTF-8" comme type MIME sur webview.loaddata p>
EDIT: Merci à Andyd pour son commentaire. Malheureusement, cette pointe ne fonctionne pas sur chaque appareil (je pense que cela dépend de la version WebKit usagée). Utilisation de Webview.html # LoadDawithBaseURL fonctionne sur chaque périphérique (testé). P>
Travaillé pour moi aussi. Beau conseil, merci! Voici ce que mon appel ressemble à: dwv.loaddata (mcontentFromfeed, "Texte / HTML; Charset = UTF-8", NULL);
N'a pas travaillé pour moi, mais l'approche LoadDawithbaseURL a résolu le problème pour moi.
J'ai eu le même problème dans le passé, le webview.loaddata () em> avec le type MIME "Texte / HTML; Charset = UTF-8" n'a pas fonctionné pour moi. Mais le seul problème était que je n'avais pas défini le "méta http-equiv =" type de contenu "contenu =" text / html; Charset = uf-8 " em> dans mon test HTML. P>
Ce code a fonctionné pour moi.
String base64EncodedString = null; try { base64EncodedString = android.util.Base64.encodeToString((preString+mailContent.getBody()+postString).getBytes("UTF-8"), android.util.Base64.DEFAULT); } catch (UnsupportedEncodingException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } if(base64EncodedString != null) { wvMailContent.loadData(base64EncodedString, "text/html; charset=utf-8", "base64"); } else { wvMailContent.loadData(preString+mailContent.getBody()+postString, "text/html; charset=utf-8", "utf-8"); }
content.loadData(htmlsource, "text/html; charset=utf-8", null); It worked for me :)
Basé dans votre code d'origine, vous pouvez utiliser deux options:
Utilisation de LoadDawithBaseURL () CODE>: P>
wv.loadData(strContent, "text/html; charset=utf-8", "UTF-8");