آموزش های این وب سایت به صورت رایگان در دسترس است. اطلاعات بیشتر
بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]

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

saeeed  10 سال پیش  10 سال پیش
0 0

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

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

 برای این سوال 2 پاسخ وجود دارد.
پاسخ به سوال 
فرهاد  10 سال پیش
+4 0

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

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

  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;
}

 

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

منم همین مشکلو دارم ولی از این تبدیل کننده استفاده کردم در ضمن نمایش 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;
}


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