ارسال صحیح متن های فارسی، با روش های HttpPost و HttpGet ، در برنامه نویسی اندروید
معمولا ممکن است که کدهای مربوط به روش های HttpPost و HttpGet ، برای ارسال متن های انگلیسی به سرور اینترنتی، درست عمل کنند اما زمانی که یک متن فارسی را با آنها به سرور ارسال نمایید، مشاهده می کنید که در طرف سرور، تمامی حروف متن فارسی، به شکل علامت سوال (?) در آمده اند. برای جلوگیری از این مشکل، باید UTF-8 را برای پردازش کاراکترها انتخاب کنیم.
فرض کنید که کدهای مربوط به روش HttpPost را به صورت زیر نوشته ایم (تنها بخشی از کدها را ذکر کرده ایم) :
httpPost.setEntity(new UrlEncodedFormEntity(params));
که در آن، url ، رشته ای (String) است که آدرس اینترنتی صفحه مورد نظرمان در آن ذخیره شده است. با این شیوه کدنویسی، متن های انگلیسی به درستی ارسال می شوند، اما برای متن های فارسی، درست عمل نمی کند.
به خط زیر از کدها توجه کنید :
برای اینکه متن های فارسی به درستی ارسال شوند، باید آن را به صورت زیر تغییر بدهیم :
برای روش HttpGet نیز باید مشابه روش HttpPost عمل کنیم. یعنی بخشی مشابه (هنگام استفاده از setEntity) از کدهای آن را نیز به همین صورت (با افزودن عبارت UTF-8) تغییر بدهیم.
با سلام و تشکر از آموزشهاتون
من با روش JSONObject json=jparser.makeHttpRequest(urls,"POST",param); مفدارهایی مثل نام کاربری به سرور میفرستم اما بعضی موارد گویا string خالی به سرور میفرسته ! مشکل از چی میتونه باشه؟
سلام سوال داشتم،
می خواستم از طریق httppost اطلاعات لاگین رو بفرستم به سرور php و بعد از لاگین و ایجاد session توی webview هم لینک مورد نظر session های کاربر رو تشخیص بده چطوری می تونم این کار رو بکنم