01-02-2014، 05:31 PM
(آخرین ویرایش: 01-02-2014، 07:40 PM، توسط Mohsen Omidvar.)
برای حل مشکلات مربوط به زبان فارسی در PHP و MySQL اول از هر چیز میم "م" مشکلات رو بردارید خواهی دید که شکلات echo می شود
در غیر اینصورت
else{
با ادامه تاپیک همراه ما باشید :
حتما برای شما هم پیش اومده که اطلاعاتی رو به زبان فارسی در جدولهای پایگاه داده MySQL با استفاده از PHP ذخیره کردین و با اینکه پایگاه داده رو با utf8 ست کردین ولی باز هم فونتهای فارسی به خوبی نمایش داده نمیشه و یا ناخواناست برای حل این مشکل بعد کد اتصال به بانک کد زیر را بنویسید :
اگر درگیر کار با رشتهها در زبان پی.اچ.پی شده باشید، میدانید که (اگر نمیدانید الان میدانید که)بسیاری از توابع بر روی رشتههای پارسی کار نمیکنند.
به طور مثال تابع substring کاراکتری به شکل لوزی و علامت سؤال در داخل آن، چاپ میکند و یا تابع strlen عدد درستی از طول رشته نمیدهد.
در بحث پایگاه داده نیز اگر charset بانک را persian_ci_utf8 یا utf8_general_ci و ... انتخاب کرده باشید، به صورت عادی نمیتوانید از آن خروجی بگیرید.
- رفع مشکل توابع مرتبط با رشته:
برای رفع مشکل توابع strlen و substr ابتدا قبل از کار با رشته، عبارت زیر را درج کنید:
سپس به جای استفاده از تابع substr از تابع mb_substr استفاده کنید. مثال:
و به جای تابع strlen از تابع mb_strlen استفاده کنید. مثال:
در غیر اینصورت
else{
با ادامه تاپیک همراه ما باشید :
حتما برای شما هم پیش اومده که اطلاعاتی رو به زبان فارسی در جدولهای پایگاه داده MySQL با استفاده از PHP ذخیره کردین و با اینکه پایگاه داده رو با utf8 ست کردین ولی باز هم فونتهای فارسی به خوبی نمایش داده نمیشه و یا ناخواناست برای حل این مشکل بعد کد اتصال به بانک کد زیر را بنویسید :
کد php:
mysql_set_charset('utf8');
اگر درگیر کار با رشتهها در زبان پی.اچ.پی شده باشید، میدانید که (اگر نمیدانید الان میدانید که)بسیاری از توابع بر روی رشتههای پارسی کار نمیکنند.
به طور مثال تابع substring کاراکتری به شکل لوزی و علامت سؤال در داخل آن، چاپ میکند و یا تابع strlen عدد درستی از طول رشته نمیدهد.
در بحث پایگاه داده نیز اگر charset بانک را persian_ci_utf8 یا utf8_general_ci و ... انتخاب کرده باشید، به صورت عادی نمیتوانید از آن خروجی بگیرید.
- رفع مشکل توابع مرتبط با رشته:
برای رفع مشکل توابع strlen و substr ابتدا قبل از کار با رشته، عبارت زیر را درج کنید:
کد php:
mb_internal_encoding('UTF-8');
کد php:
mb_substr("انجمن تخصصی علوم کامپیوتر و هنرهای دیجیتال",0,3);
و به جای تابع strlen از تابع mb_strlen استفاده کنید. مثال:
کد php:
mb_strlen("درود"); // 4
*شما قادر به دیدن لینک ها نیستید ثبت نام کنید یا وارد حساب خود شوید تا بتوانید لینک ها را ببینید*
خورشید باش که اگر خواستی بر کسی نتابی نتوانی.