سلام دوستان امیدوارم حالتون خوب باشه.
من در حال نوشتن یه app هستم که یه بخشیش باید یه عکس و یه سری رشته فارسی و انگلیسی رو به سرور ارسال کنم.
من برای این کار اومدم از httpURLconnection استفاده کردم.
ارسال عکس با موفقیت انجام میشه
ارسال رشته های انگلیسی و حتی شماره تلفن که رشته با محتوای عدد هست هم درست ارسال میشه
اما رشته های فارسی مثل نام و توضیحات و آدرس بعد از ارسال تو سرور به کاراکتر های نامفهوم تبدیل میشن
مثلا عبارت "طراحی سایت و نرم افزار اندروید" رو به "71'-" تبدیل می کنه
یا تو آدرس "تهران خیابان شریعتی" رو به "*G1'F" تبدیل می کنه
الان مشکل کجاست؟
آیا من باید موقع ارسال پارمتر ها کاری کنم یا اینکه بعد از دریافت تو سرور باید کاری کنم؟
مثلا من با کد زیر دارم اسم رو واسه سرور می فرستم:
این هم کدای راه اندازی کتابخونم هست (httpURLconnection) :
ممنون میشم کمکم کنید
من در حال نوشتن یه app هستم که یه بخشیش باید یه عکس و یه سری رشته فارسی و انگلیسی رو به سرور ارسال کنم.
من برای این کار اومدم از httpURLconnection استفاده کردم.
ارسال عکس با موفقیت انجام میشه
ارسال رشته های انگلیسی و حتی شماره تلفن که رشته با محتوای عدد هست هم درست ارسال میشه
اما رشته های فارسی مثل نام و توضیحات و آدرس بعد از ارسال تو سرور به کاراکتر های نامفهوم تبدیل میشن
مثلا عبارت "طراحی سایت و نرم افزار اندروید" رو به "71'-" تبدیل می کنه
یا تو آدرس "تهران خیابان شریعتی" رو به "*G1'F" تبدیل می کنه
الان مشکل کجاست؟
آیا من باید موقع ارسال پارمتر ها کاری کنم یا اینکه بعد از دریافت تو سرور باید کاری کنم؟
مثلا من با کد زیر دارم اسم رو واسه سرور می فرستم:
کد پیاچپی:
String onvan = "حامد سیفی";
dos.writeBytes("Content-Disposition: form-data; name=\"onvan\""
+ lineEnd);
dos.writeBytes("Content-Type: text/plain; charset=UTF-8"
+ lineEnd);
dos.writeBytes("Content-Transfer-Encoding: 8bit" + lineEnd);
dos.writeBytes(lineEnd);
dos.writeBytes(onvan);
dos.writeBytes(lineEnd);
این هم کدای راه اندازی کتابخونم هست (httpURLconnection) :
کد پیاچپی:
conn = (HttpURLConnection) url.openConnection();
conn.setDoInput(true); // Allow Inputs
conn.setDoOutput(true); // Allow Outputs
conn.setUseCaches(false); // Don't use a Cached Copy
conn.setRequestMethod("POST");
conn.setRequestProperty("Connection", "Keep-Alive");
conn.setRequestProperty("charset", "UTF-8");
// conn.setRequestProperty("ENCTYPE", "multipart/form-data");
conn.setRequestProperty("Content-Type",
"multipart/form-data;boundary=" + boundary);
ممنون میشم کمکم کنید