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

مشکل ارسال پارامترها با واسط PHP به دیتابیس

StudioX  7 سال پیش  6 سال پیش
+1 0

سلام

در آموزش نوت روش ارسال و دریافت داده ها از دیتابیس به آندروید و بلعکس با واسط PHP آموزش داده شده، این آموزش برای ارسال و دریافت متن انگلیسی هیچ مشکلی نداره اما برای متن فارسی تمام متون ???? ارسال و دریافت میشه.

در مورد دریافت بصورت ???? در اپلیکشن مشکل با قرار دادن کد زیر در قسمت اتصال به دیتابیس PHP حل شد:

 $connection->query('SET CHARACTER SET utf8');

با این کد کلیه اطلاعات ارسالی به PHP فارسی دریافت میشه و بالطبع توی برنامه هم فارسی نشون داده میشه اما وقتی حالت برعکس این قضیه باشه، یعنی بخوایم از اندروید ارسال اطلاعات به دیتابیس داشته باشیم، اطلاعات بصورت ???? ذخیره میشه تو دیتابیس!

من خروجی params خودم رو از برنامه لاگ کردم و فارسی دیده میشه کامل، و برای PHP هم یه اکو گذاشتم که مقایسه بشه کرد ولی PHP ???? نشون میده! این مشکل فقط برای حالتی هست که ارسال پارامتری و _POST یا _REQUEST باشه و در حالت _GET ارسال فارسی و بدون خطا انجام میشه!

کد برنامه:

 public static void update(ArrayList<NameValuePair> params){
Log.i("LOG", String.valueOf(params));
Webservice.readUrl("http://192.168.1.2/i/service.php?action=update", params);
}

خروجی لاگ کت:

I/LOG: [id=15, title=پست, desc=Hello World, done=0]
I/LOG: UPDATE task SET task_done=0, task_title='???', task_desc='Hello World' WHERE task_id=15

خیلی گشتم ولی فقط تونستم مشکل دریافت رو حل کنم، ولی برای ارسال یا مجبورم از _GET استفاده کنم یا خروجیم تو دیتابیس ????? میشه.

راهکاری سراغ دارید؟ به این مشکل برخوردید؟

 برای این سوال 1 پاسخ وجود دارد. مشاهده پاسخ صحیح
پاسخ به سوال 
StudioX  6 سال پیش
+2 0

 پاسخ صحیح

راهکار:

mysqli_set_charset($con,'utf8');

+1 0
ممنونم ا اینکه بعد از مدتها برگشتید و پاسخ صحیح رو در پست خودتون درج ردید دوست عزیز. بشتر به انجمن بیاد ، همه ی ما بچها به بودن در کنار شما افتخار میکنیم. موفق باشید. (6 سال پیش)

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