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

دریافت کردن متن uf8 به صورت ؟ از سرور

سهیل  11 سال پیش  11 سال پیش
0 0

سلام به همگی

من با اینکه مشخصات ستون های دیتابیس phpMyAdmin سرورم رو utf8_general_ci قرار دادم ولی وقتی ازش دیتای فارسی میگیرم به صورت علامت سوال (؟) میاد و این دیتا رو هم وقتی توی دیتابیس برنامم میریزم باز به همین شکل علامت سوال میریزه.

لطفا اگه کسی بلده چه جوری این مشکل حل میشه کمک کنه.مرسی. 

این کد جیسون دریافتی من از سرور است:

[{"Id":"1","Name":"?????????","description":"????????????????????????? ?????.","Logo_Addres":"\/Tabligh\/irangardi.png","notification_description":"?????????","where":"N&M"},{"Id":"2","Name":"?????????","description":"???????????????????????????? ???.","Logo_Addres":"\/Tabligh\/jahanam.png","notification_description":"????????????.","where":"N&M"},{"Id":"3","Name":"???","description":"?????????????????????????? ???.","Logo_Addres":"\/Tabligh\/Panj.png","notification_description":"???? ????","where":"Pishnehad"}]
========================================================================================
Array ( [0] => Array ( [Id] => 1 [Name] => ????????? [description] => ?????? ?? ???? ???? ????? ???? ?????. [Logo_Addres] => /Tabligh/irangardi.png [notification_description] => ?????? ??? [where] => N&M ) [1] => Array ( [Id] => 2 [Name] => ???? ????? [description] => ?????? ???? ?? ???? ????? ?? ????? ???. [Logo_Addres] => /Tabligh/jahanam.png [notification_description] => ???? ????? ???. [where] => N&M ) [2] => Array ( [Id] => 3 [Name] => ??? [description] => ???? ???? ????? ????? ???? ???? ???. [Logo_Addres] => /Tabligh/Panj.png [notification_description] => ???? ???? [where] => Pishnehad ) )

 

 

0 0
سوال شما قبلا توی انجمن جواب داده شده. (11 سال پیش)
0 0
سلام امید میتونی لینک بدی؟ (11 سال پیش)
+1 0
لینک (11 سال پیش)
0 0
مرسی. (11 سال پیش)
 برای این سوال 1 پاسخ وجود دارد.
پاسخ به سوال 
msadesign  11 سال پیش
+1 0

نمایش صحیح متن های فارسی دریافت شده با روش 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 در می آید.

0 0
مرسی msadesign ولی متاسفانه باز هم به صورت علامت سوال اونها رو میگیره.کد جیسون دریافتی از سرور رو بالا گذاشتم. (11 سال پیش)
0 0
بعد از این که فیلد دیتابیس رو utf کردی باید مجددا مقادیر رو وارد دیتابیس کنی (11 سال پیش)
0 0
اگه منظورت دیتابیس سرور هست.این کار رو کردم.اول فیلد رو ساختم و بعد بهش مقدار دادم. (11 سال پیش)

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