PDA

View Full Version : نفرستادن اطلاعات فارسی در post



olampiad
دوشنبه 08 شهریور 1395, 23:15 عصر
سلام و خسته نباشید به دوستان عزیز
الآن دوسالی هستش که دارم php کار میکنم و اولین بار هستش که به این مشکل بر خوردم .
من یه فورم دارم که میخوام اطلاعات اون رو با post بفرستم .
حالا اطلاعاتی که میفرستم اگه انگلیسی باش میفرسته و اگه فارسی باش نمیفرسته . منظورم محتوای input هستش .
یعنی اگه انگلیسی باش متن رو اونور تو php نشون میده ولی اگه محتوا فارسی باش متغیر رو خالی میفرسته و چیزی نشون نمیده .
نظرتون در مورد این مشکل چیه ؟
تا به حال بهتون اتفاق افتاده ؟
ممنون

rambod18
دوشنبه 08 شهریور 1395, 23:26 عصر
charset صفحه html روی utf-8 تنظیم شده؟
دستور زیر انکدینگ خود php رو روی utf-8 تنظیم میکنه
mb_internal_encoding("UTF-8");

olampiad
سه شنبه 09 شهریور 1395, 00:53 صبح
سلام
من به خاطر استفاده از کد های زیر این بلا سرم میاد .



if(count($_POST)>0){foreach($_POST as $k=>$v){$_POST[$k]=htmlentities($_POST[$k]);$_POST[$k]=strip_tags($_POST[$k]);$_POST[$k]=mysql_escape_string($_POST[$k]); $_POST[$k]=htmlspecialchars($_POST[$k],ENT_QUOTES,'utf-8');}}


به نظرتون دقیقا مشکل از کدوم بخش هستش

olampiad
سه شنبه 09 شهریور 1395, 01:39 صبح
من دارم از ckeditor استفاده میکنم .
وقتی که از توابع بالا استفاده میکنم متنم رو به این شکل در میاره .
<p dir="RTL">سمینار عارضه یابی و آسیب شناسی فروش
به نظرتون مشکل از کجاست ؟
از چ توابعی استفاده کنم که مشکلات بالا پیش نیاد.
ممنون

numberone1
سه شنبه 09 شهریور 1395, 05:02 صبح
مشکل از این هست


htmlentities($_POST[$k])

چون با کدینگ iso کار میکنه این شکلی میشه بعدش میتونی از این استفاده کنی


echo html_entity_decode($_POST[$k]);