PDA

View Full Version : آموزش: حل مشکل حروف فارسی در دیتابیس mysql



Izadshahri
پنج شنبه 09 آبان 1392, 14:19 عصر
یکی از مسائل و مشکلات بعضی از کاربران نمایش حروف فارسی به صورت علامت سوال(؟؟) می باشد!
این مشکل ممکن است چند دلیل باشد,
1- یونیکد دیتابیس
عمده دلیل بروز این مشکل از دیتابیس می باشد, اسکریپت ساروج (http://www.phptik.com/tag/%d8%b3%d8%a7%d8%b1%d9%88%d8%ac/) نیز در بعضی از سرور ها این مشکل را داشت!
برای حل این مشکل به Phpmyadmin بروید و روی نام دیتابیس کلیک کنید,
حالا بر روی زبانه Operations کلیک کنید و در بخش Collation فرمت را به utf-8 persian ci تغییر دهید!
البته بعد از این تغییر حروف قبلی که ؟؟؟ شده اند درست نمی شوند و اطلاعاتی که بعد از این تغییر ثبت می شوند صحیح خواهند بود!
2- یونیکد فایل PHP (http://www.phptik.com/tag/php/)
یکی دیگر از دلایل بروز مشکل در حروف فارسی ذخیره فایل php با یونیکد غیر استاندارد است ,
پیشنهاد ما استفاده از نرم افزار Notepad++ برای ویرایش فایل php و ذخیره آن با فرمت utf-8 میباشد.
جهت دانلود به سایت زیر بروید:
http://notepad-plus-plus.org/
3. ارتباط استاندارد با دیتابیس
برای حل این مشکل قبل کد زیر را قبل از فراخوانی یا ثبت اطلاعات در دیتابیس اجرا نمایید:

mysql_query(“SET CHARACTER SET utf8″);
با انجام این مراحل به هیچ وجه مشکل در نمایش حروف فارسی نخواهید داشت,
4. ارسال هیدر
کد زیر را در اول خط شروع PHP قرار دهید:

header('Content-Type: text/html; charset=utf-8'); بعد از این تغییرات دیگر شاهد مشکل نخواهید بود.
منبع :
php تیک (http://www.phptik.com/%D8%AD%D9%84-%D9%85%D8%B4%DA%A9%D9%84-%D8%AD%D8%B1%D9%88%D9%81-%D9%81%D8%A7%D8%B1%D8%B3%DB%8C-%D8%AF%D8%B1-%D8%AF%DB%8C%D8%AA%D8%A7%D8%A8%DB%8C%D8%B3-mysql/)