حل مشکل نمایش حروف فارسی در 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 اولین بار در ویرگول پدیدار شد.

گردآوری توسط ایده طلایی

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *