حل مشکل نمایش حروف فارسی در PHP و MySQL

حتما برای شما هم پیش‌ آمده است که هنگام کار با کاراکترها و حروف فارسی در PHP به مشکلاتی بر خورده‌اید. برای مثال کاراکترها برای شما به شکل حروفی ناخوانا و یا علامت های سوال بوجود آمده اند. این مشکل در ۲ حالت مختلف بوجود می ‌آید. حالت اول زمانی که شما میخواهید اطلاعات را وارد دیتابیس (Database) یا پایگاه داده کنید و حالت دوم زمانی که میخاهید اطلاعات را از پایگاه داده بخوانید. در این فایل و مقاله‌ی آموزشی درباره‌ی روش حل مشکل نمایش حروف فارسی در PHP صحبت میکنیم و برای این مشکل، ۴ راه حل مختلف ارائه میدهیم.مشکل حروف فارسی در PHPاگر میخواهید ۴ روش مختلف برای حل مشکل حروف فارسی در PHP را یاد بگیرید تا کاراکترهای فارسی را به درستی نمایش دهید، فیلم زیر را مشاهده کنید: https://www.aparat.com/v/CSN9T آیا گناه کردیم که زبان‌مان فارسی است؟یکی از مسائلی که ما فارسی زبان‌ها با آن همیشه درگیر هستیم، مشکل زبان‌مان یعنی زبان فارسی است. در بسیاری از جاها ما با زبان فارسی مشکل داریم. بسیاری از نرم افزارها زبان فارسی را ساپورت نمیکنند و خیلی جاها به مشکل میخوریم. البته که این مشکل مخصوص زبان فارسی نیست، و خیلی از رسم الخط‌های غیر انگلیسی هم درگیر این مشکل هستند.همین مشکل در هنگام کار با کدهای PHP و دیتابیس MySQL نیز وجود دارد. اما برای هر مشکلی، میتوان حداقل یک راه حل پیدا کرد. در این مقاله ۴ راه حل مختلف را یاد میگیریم که چطور میتوانیم در PHP و MySQL کاراکترهای فارسی را نمایش دهیم و مشکل حروف فارسی در PHP را بطور کلی حل کنیم.نکته: ممکن است یکی از این روش ها برای شما کاربردی باشد و مشکل‌تان را حل کند. اما استفاده از این ۴ روش بصورت هم زمان در تمام پروژه های شما پیشنهاد میشود. مخصوصا روش ۱ و ۲.راه‌ حل های مختلف حل مشکل حروف فارسی در PHPهمانطور که گفتیم، معمولا در ۲ حالت ما با کاراکترهای فارسی به مشکل برمیخوریم:هنگامی که میخواهیم اطلاعات را از دیتابیس بخوانیم.هنگامی که میخواهیم اطلاعات را وارد دیتابیس کنیم.برای حل مشکل حروف فارسی در PHP راه‌های مختلفی است. که در ادامه، ۴ روش مرسوم برای حل مشکل کاراکترهای فارسی در PHP را بررسی میکنیم.روش اول: یک Query ساده بزنیدروش اول و ساده‌ترین روش این است که یک کوئری (Query) ساده به دیتابیس بزنید. دقیقا مثل همانطور که وقتی میخواهید یک کوئری SELECT را اجرا کنید.برای مثال کد زیر را نگاه کنید:$db = mysqli_query('localhost', 'root', '', 'ecommerce'); mysqli_query($db, "SET NAMES utf8");در کد بالا، در خط اول به پایگاه داده ای به نام ecommerce وصل شدیم و در خط دوم، یک Query ساده به آن زدیم که حاوی محتوای SET NAMES utf8 میباشد. این یک خط کد ساده، یکی از روش‌های حل مشکل حروف فارسی در PHP است. اگر میخواهید درباره‌‌ی utf8 بیشتر بدانید صفحه‌ی مربوط به utf8 در ویکی پدیا میتواند خیلی مفید باشد.روش دوم: استفاده از تگ metaراه حل دوم برای حل مشکل کاراکترها و حروف فارسی در PHP، استفاده از یک خط کد ساده در تگ head کد html شماست. کد زیر را نگاه کنید:در خط ۴ از این کد، از یک تگ ساده‌ی meta استفاده کرده‌ایم که بتوانیم به مرورگر (Browser) بفهمانیم که قصد استفاده از کاراکتر و حرف فارسی را در فایل خود داریم. این نیز یکی دیگر از روش های حل مشکل حروف فارسی در PHP است که میتوانید از آن استفاده کنید.روش سوم: تعریف Collation هنگام ساخت پایگاه داده (Database)در روش سوم حل مشکل حروف فارسی در PHP ، شما هنگام ساخت یک دیتابیس جدید در phpmyadmin، باید نوع کاراکترهایی که میخواهید در دیتابیس خود استفاده کنید را مشخص کنید. همانطور که در عکس زیر میبینید، برای اینکار کافی است که هنگام ساخت یک دیتابیس جدید،‌ تنظیمات مربوط به Collation آن‌را روی utf8_general_ci قرار دهید:روش چهارم: تغییر Collation دیتابیس های از قبل ساخته شدهروش سوم برای حل مشکل کاراکترهای فارسی در PHP و MySQL‌، یک تنظیم ساده در phpmyadmin است.برای اینکار phpmyadmin را باز کنید، یک دیتابیس را انتخاب کنید و از منوی بالا روی Operations کلیک کنید. سپس در بخش Collation، گزینه utf8_general_ci را انتخاب کنید و نهایتا روی Go کلیک کنید. برای توضیحات بیشتر میتوانید آموزش ویدئویی ابتدای صفحه را مشاهده کنید.اگر در استفاده از حروف فارسی در PHP مشکل دارید، حتما یکی از این ۴ روش مشکل شما را حل خواهد کرد. اما حتما به شما توصیه میکنیم که تمامی این روش ها در هرکدام از پروژه‌هایتان که میخواهید از زبان و کاراکتر و حروف فارسی در آن استفاده کنید، به کار ببرید.مطالعه‌ی دو مقاله php چیست و mysql چیست نیز میتواند برای شما مفید باشد :)منبع: یادیفای