بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]
پرسش و پاسخ

مشکل در خواندن کلمات فارسی از سرور و نمایش آنها در TextView

مدیریت گفتگو
saeeed 10 سال پیش
آخرین تغییر: 10 سال پیش

سلام، برای حل مشکل انتقال صحیح کلمات فارسی از سرور به درون برنامه اندروید ، من تمام کارهایی که دوستان در سوالات قبلی توصیه کرده اند را انجام داده ام، حتی وقتی دستور print_r را هم میزنم فارسی میبینم ولی در جیسون به صورت  u602/u607 دیده میشود. یعنی در   TextView   به همین صورت  نمایش داده میشود. کد زیر را هم به اندروید الصاق کرده ام ولی همچنان با مشکل مواجه هستم. منتظر راهنمایی شما دوستان با تجربه هستم.

if (params != null) {
     method.setEntity(new UrlEncodedFormEntity(params, "UTF-8"));
 }

نظرات

پاسخ‌ها 2

فرهاد 10 سال پیش

سلام دوست عزیز باید توی برنامه نویسی سمت سرور هم تنظیم انجام بدید

هنگام اتصال بانک اطلاعات این خط رو اضافه کن 

  mysqli_set_charset($connection, 'utf8');

مثلا

function connectToDatabase(){
    $connection=mysqli_connect("localhost", "root", "", "market_db");
    mysqli_set_charset($connection, 'utf8');                                            <=  این خط 
    if (mysqli_connect_errno()) {
        echo "Failed to connect to MySQL: " . mysqli_connect_error();
    }

    return $connection;
}

 

نظرات

saeeed 10 سال پیش
سلام آقا فرهاد، ممنون از اینکه زحمت کشیدید ، من پیشنهاد شما رو هم انجام دادم ولی باز هم در سمت اندروید جوابمو مانند زیر گرفتم. توجه شما و سایر دوستانو به این نکته جلب میکنم که من در print_r کاملا فارسی میبینم. نمیدونم با خروجی جیسون چگونه رفتار کنم؟ name_user":"\u0645\u062d\u0645\u0648\u062f"
فرهاد 10 سال پیش
بله با print_r فارسی دیده میشه ولی تو برنامه اندروید مشکل داره من در حال نوشتن پروژه ای هستم که دقیقا همچین مشکلی داشتم ولی با همین یه خط کد حل شد
wolfOfAppStreet 10 سال پیش
با سلام منم دقیقا همین مشکل و داشتم که تو اندروید فارسی نشون نمیداد و با همین یک خط کد برطرف شد با تشکر از فرهاد عزیز
خواست خدایی 10 سال پیش
سلام من دقیقا یه پروژه گرفتم که یکی از بخش هاش آپدیت شدن اطلاعات لیست ویو از سرور هست. با همین دستور مشکلم حل شد.
سعید حسن خان 10 سال پیش

منم همین مشکلو دارم ولی از این تبدیل کننده استفاده کردم در ضمن نمایش 602/u607 با جیسون به این خاطر هست که بصورت کد شده نمایش داده میشه که وقتی در اندروید دیکد بشه درست میشه

public static String convertInputStreamToString(InputStream inputStream) {
    try {
        BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream,"UTF-8"));
        StringBuilder builder = new StringBuilder();

        String line = "";

        while ((line = reader.readLine()) != null) {
            builder.append(line);
        }

        return builder.toString();
    } catch (IOException e) {
        e.printStackTrace();
    }

    return null;
}

نظرات


پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .