PDA

View Full Version : سوال: مشکل با htmlentites در صفحه فارسی



mosi2007
شنبه 19 فروردین 1391, 17:16 عصر
سلام
من از htmlentites استفاده میکردم ولی این دستور با زبان فارسی مشکل داره
میتونم به جاش از htmlspecialchars استفاده کنم برای برقراری امنیت
و ایندو چه فرقی باهم دارن و
mysql_real_escape_string با اون دو تا چه فرقی میکنه

MostafaEs3
شنبه 19 فروردین 1391, 19:08 عصر
اینجوری استفاده کن :



htmlentites('text',ENT_QUOTES,"UTF-8");

MMSHFE
یک شنبه 20 فروردین 1391, 01:10 صبح
mysql_real_escape_string هم کار Escapeکردن رشته ها و تبدیل اونها به مقادیر بی خطر برای MySQL رو انجام میده برخلاف htmlentities و htmlspecialchars که کار خنثی کردن اسکریپتهای JS و... رو برعهده داره. البته برای کارکردن درست mysql_real_escape_string با داده های فارسی باید این کد رو قبلش اجرا کنید:

mysql_set_charset('utf8');
چون استفاده از ;(''\mysql_query('SET NAMES \'utf8 به تنهایی باعث نمیشه کارکتر ست مربوط به تابع mysql_real_escape_string تغییر کنه و لذا حروف فارسی رو بعنوان کدهای مخرب میشناسه و حذف میکنه!
موفق باشید.