کاراکترهای اشتباه هنگام برگرداندن مقادیر http post در esp32

ممنون. من از POST استفاده میکنم و اصلا از GET استفاده نکردم. دیتای داخل هدر HTTP دقیقا همینی هست که داخل ESP میبینم.
بله اینکه multipart برای اپلود فایل استفاده میشه رو منم دیدم ولی چاره ای ندارم فعلا.
یکی از این دیتاهای یوزر مربوط به پسورد wifi هست و ممکنه هر کاراکتری باشه. برای همین باید همه بایتها رو به همون شکلی که یوزر وارد کرده برای اتصال به موردم استفاده کنم به عنوان پسورد.

سلام دوست عزیز، شما احتمالا دارید از url برای انتقال داده ها استفاده میکنید و به این اتفاق میگن url encode و url decode
سرچ کنید، هم توضیحاتش رو بخونید که با دلیلش آشنا بشید، هم کتابخانه هایی برای encode و decode پیدا میکنید که کار شما رو راه میندازه.

سلام دوست عزیز، multipart/form-data برای آپلود فایل استفاده میشه و استفاده از اون برای ارسال داده معمولی زیاد پیشنهاد نمیشه. شما با post method به نتیجه نرسیدید؟ چون وقتی که از GET استفاده میکنید، داده ها داخل URL قرار میگیره و اون مشکل url encode پیش میاد. ولی وقتی از post استفاده کنید این مشکل دیگه وجود نداره ولی در نظر داشته باشید که همیشه محدود هستید به کاراکترهای ascii و نمیتونید مقادیر دیگه رو ارسال کنید. البته کاربر هم نمیتونه داخل فیلد input text چیز غیر ascii بنویسه.
شما میتونید خیلی راحت با استفاده از نرم افزار های header monitor که افزونه روی browser هم دارن و یا حتی داخل خود esp32 چک کنید ببینید header هایی که اومده چی هست و مشکل از کجا ناشی میشه.

ممنونم. از یه روش دیگه رفتم و Content Type رو گذاشتم روی “multipart/form-data” یعنی تو فایل html نوشتم :

<form action=“aaa.html” method=“post” enctype=“multipart/form-data”>

با این روش دیتای برگشتی POST کاملا همونی هست که یوزر وارد میکنه.

بازم ممنون از توجهتون.

سلام وقتتون بخیر. من از ESP32 و کتابخانه esp-idf v4.2 استفاده میکنم. کد رو توی eclipse مینویسم.
موقعی که تو صفحه html که داخل خود esp هست ، از یک textbox ورودی رو میخوام بخونم ، اگر کاراکترهایی مثل @ و یا _ باشه و یا حتی Space ، داخل کد کاراکتر اصلی رو برنمیگردونه. مثلا به جای @ عبارت 40% رو برمیگردونه و به جای کاراکتر Space کاراکتر + رو برمیگردونه.

برای حل این مشکل چه کاری باید انجام بدم؟