ورود

View Full Version : مشکل با نمایش داده فارسی در webview



hno2005
یک شنبه 04 خرداد 1393, 11:36 صبح
سلام دوستان
من یکسری اطلاعات رو از بانک دریافت میکنم که خب فارسی هست . اول از textView استفاده کردم که حروف فارسی رو خوب نشون میداد ولی متنها justify نمیشدن و خب خیلی ضایع بود .
تحقیق کردم گفتن از webview استفاده کن که استفاده کردم ولی حروف فارسی مثل عکس اتچ شده نمایش داده میشه .
این هم کدهایی هست که باهاش Webview رو میسازم .



wb.loadData("<html><head><meta http-equiv='content-type' content='text/html; charset=UTF-8' /></head><body><div style='text-align: justify'>"+ cursor.getString(4) + "</div></body></html>" ,"text/html","UTF-8");

حتی در قالب html هم گفتم فارسی استفاده کن ولی فرقی نکرد .
ممنون میشم راهنمایی کنید
با تشکر

roohola2434
پنج شنبه 20 شهریور 1393, 18:33 عصر
چه جالب منم همین مشکل رو دارم....چه تفاهمی:قهقهه:
کسی نیست راهنماییمون کنه
خیلی وقت گذاشتم رو پروژه ام تازه فهمیدم مشکل فارسی دارم
چ کنم؟

barnamenevisjavan
پنج شنبه 20 شهریور 1393, 21:14 عصر
فایل html رو بصورت UTF-8 ذخیره کنید (انکودینگ فایل)

pbm_soy
جمعه 21 شهریور 1393, 01:49 صبح
فایل html رو بصورت UTF-8 ذخیره کنید (انکودینگ فایل)

فکر میکنم منظور نوشته بالا این باشد:
یعنی از اطلاعات دیتابیس یک فایل html با فرمت UTF-8 بسازید و ذخیره کنید و بعد برای webView اطلاعات را از آنجا بار گذاری کنید

فکر می کنم مشکل اصلی hno2005اینه که با تابع getstring داده هاتون بصورت یونیکد برگردانده نمیشود. یعنی فکر میکنم اطلاعات شما در دیتابیس یا هرجای دیگری که قرار دارد بصورت یونیکد ذخیره نشده است.

barnamenevisjavan
جمعه 21 شهریور 1393, 10:04 صبح
فکر میکنم منظور نوشته بالا این باشد:
یعنی از اطلاعات دیتابیس یک فایل html با فرمت UTF-8 بسازید و ذخیره کنید و بعد برای webView اطلاعات را از آنجا بار گذاری کنید

فکر می کنم مشکل اصلی hno2005اینه که با تابع getstring داده هاتون بصورت یونیکد برگردانده نمیشود. یعنی فکر میکنم اطلاعات شما در دیتابیس یا هرجای دیگری که قرار دارد بصورت یونیکد ذخیره نشده است.
دیتابیس عملا نباید مشکلی با حروف فارسی داشته باشه برای html هم شما وقتی داری فایل html رو طراحی میکنی موقع ذخیره فایل یونیکدش رو به UTF-8 تغییر بدید

vahidhiv
جمعه 21 شهریور 1393, 19:58 عصر
من با جیسون همچین مشکلی داشتم، راه حلی که پیدا کردم اینه

response = EntityUtils.toString(httpEntity,HTTP.UTF_8);
که response از نوع رشته بوده. اگه میخوای کد کامل خواندن فایل جیسون هم اینه
http://www.uploadefile.com/file/11249/servicehandler.java.html

hasan_esfahan
شنبه 22 شهریور 1393, 10:28 صبح
webView.loadDataWithBaseURL("file:///android_asset/", matn, "text/html", "UTF-8", null);