آموزش برنامه نویسی اندروید (Android)
۴۱۹ آموزش
نمایش دسته بندی ها (۴۱۹ آموزش)

نمایش صحیح متن های فارسی دریافت شده با روش JSON از سرور، در برنامه نویسی اندروید

فرض کنید که اطلاعاتی را با روش JSON از سرور مورد نظرمان دریافت کرده ایم و آنها را در یک JSONObject با نام jsonObject_1 ذخیره کرده ایم. روش معمولی برای دریافت حروف انگلیسی، به صورت زیر می باشد :


String my_string_1 = jsonObject_1.getString("name_1");

اما این روش برای حروف فارسی درست عمل نمی کند و باعث نمایش یک سری عبارت های بی معنی، در هنگام نمایش اطلاعات، می شود. دلیل آن، عدم انتخاب UTF-8 برای پردازش کاراکترها می باشد. بنابراین اگر در اطلاعات دریافتی از سرور، حروف فارسی نیز وجود دارد، باید کد قبل را به صورت زیر تغییر بدهیم :


String my_string_1 = new String(jsonObject_1.getString("name_1").getBytes("ISO-8859-1"), "UTF-8");

اکنون متن مورد نظرمان در رشته my_string_1 ذخیره شده و می توانیم آن را با روشی دلخواه نمایش بدهیم (دیگر اهمیتی ندارد که فارسی باشد یا انگلیسی و همه را به طور صحیح نمایش خواهد داد).

البته دقت شود که برای استفاده از این کد، باید یک try و catch ، به صورت زیر، برای آن در نظر بگیریم :


try {
    String my_string_1 = new String(jsonObject_1.getString("name_1").getBytes("ISO-8859-1"), "UTF-8");
} catch (UnsupportedEncodingException e1) {
    e1.printStackTrace();
}

اگر در برنامه eclipse کد می نویسید، تنها کافی است که همان یک خط کد را نوشته و سپس کلیدهای Ctrl و 1 از کیبورد را فشار دهید، گزینه ای برای آن نمایش داده می شود و با کلیک بر روی آن گزینه، کدها به صورت try و catch در می آید.

نویسنده علیرضا گلمکانی
شماره کلید 292
گزینه ها
به اشتراک گذاری (Share) در شبکه های اجتماعی
نظرات 4 4 0
امیر
۱۳۹۶/۰۶/۲۹
۱۱:۲۱

با این کد مشکلم حل نشد 

علی
۱۳۹۶/۱۲/۱۵
۲۰:۵۵

بسیار سپاس گزارم
عالی

جعفر
۱۳۹۷/۰۱/۱۵
۲۳:۱۸

کار نمیکنه

Heshmat
۱۳۹۷/۱۱/۲۰
۱۱:۱۲

سرچ میکنی یونیتی ؛ میای توی سایت میبینی داره با ایکلیپس کد میزنه

ارسال نظر جدید (بدون نیاز به عضو بودن در وب سایت)