مشکل در خواندن کلمات فارسی از سرور و نمایش آنها در TextView
سلام، برای حل مشکل انتقال صحیح کلمات فارسی از سرور به درون برنامه اندروید ، من تمام کارهایی که دوستان در سوالات قبلی توصیه کرده اند را انجام داده ام، حتی وقتی دستور print_r را هم میزنم فارسی میبینم ولی در جیسون به صورت u602/u607 دیده میشود. یعنی در TextView به همین صورت نمایش داده میشود. کد زیر را هم به اندروید الصاق کرده ام ولی همچنان با مشکل مواجه هستم. منتظر راهنمایی شما دوستان با تجربه هستم.
if (params != null) {
method.setEntity(new UrlEncodedFormEntity(params, "UTF-8"));
}
سلام دوست عزیز باید توی برنامه نویسی سمت سرور هم تنظیم انجام بدید
هنگام اتصال بانک اطلاعات این خط رو اضافه کن
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;
}
منم همین مشکلو دارم ولی از این تبدیل کننده استفاده کردم در ضمن نمایش 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;
}
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .