SORU
18 EKİM 2010, PAZARTESİ


Android. Web görünümü ve loadData

Mümkün web manzaralı bir içerik ayarı için aşağıdaki yöntemi kullanın. loadData(String veri, String mime türü, Dize kodlama)

Nasıl html veri bilinmeyen kodlama ile bu sorunu ele?!

Kodlamaları bir listesi var mı?!

Benim durumumda html DB gelen benim üniversiteden tanıdığım ve latin-1 ile kodlanır. Latin-1 kodlaması-8859-1 / ISO-8859-1, ıso, ama hala sorun ile ä, ö, ü gibi özel işaretler görüntülemek için ayarlamak için deneyin.

Herhangi bir tavsiye için çok minnettar olacağım.

CEVAP
22 Kasım 2010, PAZARTESİ


Web görünümü.() loadData düzgün hiç çalışmıyor. Yapmam gereken neydi:

String header = "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>";
myWebView.loadData(header myHtmlString, "text/html", "UTF-8");

Senin durumunda latin1 ile UTF-8 yerine ya-8859-1, ISO web görünümü başlığında hem ve gerektiğini düşünüyorum.() loadData.

Ve, tam bir cevap vermek için, burada kodlamaları resmi listesi: http://www.iana.org/assignments/character-sets

Ben cevabımı daha kapsayıcı olması için güncelleme:

Sigara latin1 ile WebView.loadData() kullanmak için html içeriği kodlamak için kodlama. Önceki örnekte, aşağıdaki gibi: Android 4 , Bu yüzden bakmak için uyarladım çalışmıyor doğru

WebSettings settings = myWebView.getSettings();
settings.setDefaultTextEncodingName("utf-8");
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.FROYO) {
    String base64 = Base64.encodeToString(htmlString.getBytes(), Base64.DEFAULT);
    myWebView.loadData(base64, "text/html; charset=utf-8", "base64");
} else {
    String header = "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>";
    myWebView.loadData(header   htmlString, "text/html; charset=UTF-8", null);

}

Ama daha sonra WebView.loadDataWithBaseURL() ve kodu çok temiz oldu ve Android sürümüne bağlı olarak değil açtınız:

WebSettings settings = myWebView.getSettings();
settings.setDefaultTextEncodingName("utf-8");
myWebView.loadDataWithBaseURL(null, htmlString, "text/html", "utf-8", null);

Nedense bu fonksiyonlar tamamen farklı bir uygulama var.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • We've moved!

    We've moved!

    7 Ocak 2008
  • lane182videos

    lane182video

    6 EKİM 2011
  • Rooster Teeth

    Rooster Teet

    11 Temmuz 2006