ذخیره کلمات فارسی در PHPMyadmin

فرمهای php من با کاراکتر utf8 و دیتابیس و جدولهامم utf8-persian-ci هست اما موقع ارسال فارسی از فرم به دیتابیس به شکل ناخوانا در میاد یعنی علیرضا رو این شکلی مینویسه:
علیرضا

راه حلی هست برای درست کردنش؟

برچسب ها:
پرسیده شده در: 6 سال قبل
آمار بازدید: 2402
بیش از ۱ سال عضویت در روکسو بیش از ۱ سال عضویت در روکسو
1

از تابع htmlentities استفاده کنید. آرگومان اول رشته مورد نظر، آرگومان دوم مقدار ثابت و ارگومان سوم نوع رمز گذاری (encoding) را مشخص می کند که مقدار پیش فرض آن از PHP 5.4  به بالاتر برابر UTF-8 می باشد.

آرگومان دوم یکی از سه مقدار زیر است:

ENT_COMPAT : کارکترهای single quote تبدیل نمی شوند.

ENT_QUOTES  : کارکترهای single quote و double quote تبدیل می شوند.

ENT_NOQUOTES : کارکترهای single quote و double quote تبدیل نمی شوند.

می توانید از کد مشابه زیر استفاده کنید.

$value = 'علیرضا';
$value    = htmlentities($value, ENT_NOQUOTES, 'UTF-8');

بسته به نیاز ارگومان دوم را مقداردهی کنید.

همچنین می توانید از تابع  htmlspecialchars استفاده کنید که آرگومان های این تابع هم مشابه آرگومان های تابع htmlentities  می باشد. تابع htmlspecialchars فقط کارکتر های خاص html را با کد معادل انها جایگزین میکند در حالیکه تابع htmlentities  علاوه بر تبدیل کارکترهای خاص، کارکترهای unicode یا غیر ASCII رارمز گذاری می کند.

کارکترهای خاص عبارتند از :

کد معادلکرکتر
;amp&&
;quot&"
;#039&'
;lt&>
;gt&<

امیدوارم که این پاسخ مشکل را برطرف کرده باشد.

ارسال شده در: 5 سال قبل
Amir1984 (70)
فروشنده یا مدرس فروشنده یا مدرس بیش از ۱ سال عضویت در روکسو بیش از ۱ سال عضویت در روکسو میانگین امتیازات: 5 میانگین امتیازات: 5
0

سلام اگه با mysqli نوشته شده utf8 رو ست کن براش

mysqli_query($db, "SET NAMES UTF8");

 

ارسال شده در: 5 سال قبل
جهت ارسال پاسخ ابتدا عضو سایت شوید.