گاهاً کاربران سؤال داشتهاند که دلیل نمایش حروف فارسی در دیتابیس به صورت ؟ چیست و چگونه میتوان آن را حل کرد. حال قصد داریم در این مطلب به رفع مشکل نمایش حروف فارسی در MySQL پرداخته تا برای همیشه با علامت ؟ در دیتابیس خود خداحافظی کنید! منشأ این مشکل دلایل مختلفی دارد که از اصلیترین آنها میتواند نوع unicode دیتابیس باشد و این اتفاق برای تمامی زبانهایی که از بازه ASCII خارج میشوند رخ خواهد داد. در این مطلب از طریق 3 روش مختلف به حل این مشکل خواهیم پرداخت. پیش از آن، توضیحات مختصری در مورد MySQL و کاربرد آن میدهیم.
MySQL چیست؟
مایاسکیوال یک سیستم مدیریت پایگاه داده به صورت نرمافزار منبع باز یا همان open-source software (RDBMS) است که نام آن ترکیبی از "My"، نام دختر یکی از بنیانگذاران یعنی مایکل ویدنیوس، و "SQL"، مخفف Structured Query Language میباشد. پایگاه داده رابطهای دادهها را در یک یا چند جدول داده سازماندهی میکند که این دادهها ممکن است به یکدیگر مرتبط باشند. این روابط به ساختار دادهها کمک میکند. SQL زبانی است که برنامه نویسان برای ایجاد، اصلاح و استخراج دادهها از پایگاه داده رابطهای و همچنین کنترل دسترسی کاربر به پایگاه داده استفاده میکنند. در تعریف MySQL از اصطلاح نرمافزار متنباز استفاده شده است.
اگر معادل لاتین این عبارت را جستجو کنید، تعریف آن به صورت « software whose source code is available under an open source license» برای شما نمایش داده میشود که به معنی «نرمافزار دارای مجوز برای اطمینان از حقوق استفاده از کد منبع» میباشد. یعنی کد منبع این برنامه در اختیار کاربران است و میتوانند با تغییر آن، اصلاحات مورد نیاز خود را در این نرمافزار ایجاد کنند.
رفع مشکل نمایش حروف فارسی در MySQL
در این بخش، سه روش متداول برای رفع مشکل نمایش حروف فارسی در پایگاه داده مایاسکیوال را توضیح خواهیم داد.
روش اول : تنظیم Unicode دیتابیس
دلیل اصلی مشکل تغییر حروف فارسی به ؟ یونیکدهای داخل دیتابیس است که شما میتوانید از طریق PHPMyAdmin به تصحیح آن بپردازید.
- برای تنظیم Unicode از طریق پنل هاست خود به بخش PHPmyAdmin بروید.
- حال بر روی دیتابیس مورد نظر کلیک کنید و سربرگ Operations را انتخاب نمایید.
3- دربخش Collation فرمت را به utf_8 persian ci تغییر داده و بر روی Go کلیک کنید تا تغییرات اعمال گردد.
حال از این به بعد تمامی اطلاعات ذخیره شده بدون هیچ مشکلی و به صورت صحیح در دیتابیس ذخیره میگردند. دقت داشته باشید اطلاعات قبلی که در دیتابیس ذخیره شدهاند قابلیت بازگشت به حروف فارسی را نداشته و اطلاعاتی که پس از تنظیم یونیکد ذخیره میگردند ، با حروف فارسی در دیتابیس جای خواهند گرفت.
روش دوم : تنظیم و استانداردسازی ارتباط دیتابیس
میتوانید جهت استانداردسازی ارتباط با دیتابیس و ثبت اطلاعات از تکه کد زیر استفاده نموده تا بدون مشکل ، ارتباطات از همان ابتدا به صورت Unicode شده و یا استاندارد utf8 برقرار شود. دقت داشته باشید این روش یکی از بهترین راهکارها در زمینه مشکلات حروف فارسی است و دیگر با حروف فارسی هیچ مشکلی نخواهید داشت.
mysql_query(“SET CHARACTER SET utf8″);
روش سوم : تنظیم یونیکد از طریق ارسال Header در PHP
همچنین میتوانید همانند روش قبلی این کد را در ابتدای کد صفحات PHP خود قرار داده تا مشکل نمایش حروف فارسی در MySQL را نداشته باشید.
header('Content-Type: text/html; charset=utf-8');
بدین ترتیب قادر خواهید بود مشکلات پیش آمده برای حروف فارسی و همچنین دیتابیس خود را با روشهای بالا تغییر داده و بدون مشکل به کار خود ادامه دهید. البته دقت داشته باشید که اگر از زبان فارسی در فایلهای PHP و سایر فایلهای کدنویسی استفاده کردهاید؛ آنها را نیز باید با یونیکد Utf8 ذخیره کرده تا حروف فارسی بدون مشکل به شما نمایش داده شود.
سؤالات متداول
در این قسمت، سؤالات متداول در زمینه پایگاه داده MySQL را پاسخ خواهیم داد.
SQL database engine software چیست؟
نرمافزار موتور پایگاه داده SQL ، سرویس اصلی برای ذخیره، پردازش و ایمنسازی دادهها است. موتور پایگاه داده دسترسی کنترلشده و پردازش سریع تراکنشها را برای برآورده کردن نیازهای مصرفکننده داده در سازمان و یا هر موسسهای که از این پایگاه داده استفاده میکند، فراهم میسازد.
MySQL از چه پلتفرمهایی پشتیبانی میکند؟
- MySQL روی پلتفرمهای زیر قابل پیادهسازی است:
- لینوکس (RedHat، SUSE، Mandrake، Debian)
- یونیکس (Solaris، HP-UX، AIX)
- BSD (Mac OS X, FreeBSD)
- ویندوز (ویندوز 2000، ویندوز NT)
برنامههای کاربردی MySQL با کدام زبانهای برنامهنویسی سازگار هستند؟
برنامه کاربردی MySQL را میتوان با هر زبان متداولی توسعه داد، از جمله:
- C
- C++
- سی شارپ
- جاوا
- دلفی
- ویژوال بیسیک
- Perl
- پایتون
- PHP
کدام شرکتهای مطرح از پایگاه داده مایاسکیوال استفاده میکنند؟
مشتریان MySQL شامل شرکتهای مطرح جهانی مانند Alcatel، Apple، Associated Press، Bloomberg، BMC، CERN، Cisco، Ericsson، Google، Lufthansa، Motorola، NASA، NEC، Netflix، Nokia، Nortel، Sabre، SAS و بسیاری دیگر هستند.
سخن پایانی
در این مقاله توضیحاتی در مورد پایگاه داده MySQL و اصطلاحات مرتبط با آن ارائه شد. همچنین در ادامه یکی از مشکلات متداول کاربران ایرانی در استفاده از این پایگاه داده یعنی مشکل نمایش حروف فارسی به صورت ؟ مطرح شده و راهکارهایی برای رفع این مشکل ارائه گردید. امیدواریم مطلب رفع مشکل نمایش حروف فارسی در MySQL برای شما مفید واقع شده باشد.