نکاتی در مورد مشکلات رشتهها و utf8 در زبان PHP
اگر درگیر کار با رشتهها در زبان پی.اچ.پی شده باشید، میدانید که بسیاری از توابع بر روی رشتههای فارسی کار نمیکنند...
به طور مثال تابع substring کاراکتری به شکل لوزی و علامت سؤال در داخل آن، چاپ میکند و یا تابع strlen عدد درستی از طول رشته نمیدهد.
در بحث پایگاه داده نیز اگر charset بانک را persian_ci_utf8 انتخاب کرده باشید، به صورت عادی نمیتوانید از آن خروجی بگیرید.
- رفع مشکل توابع مرتبط با رشته:
برای رفع مشکل توابع strlen و substr ابتدا قبل از کار با رشته، عبارت زیر را درج کنید:
mb_internal_encoding('UTF-8');
سپس به جای استفاده از تابع substr از تابع mb_substr استفاده کنید. مثال:
mb_substr("سلام به همه",0,3); // سلا
و به جای تابع strlen از تابع mb_strlen استفاده کنید. مثال:
mb_strlen("سلام"); // 4
- رفع مشکل اتصال به پایگاه داده:
اگر بعد از اتصال به بانک اطلاعاتی (MySQL)، حروف فارسی به درستی از بانک خوانده نشد، بعد از خط اتصال به بانک، کد زیر را قرار دهید:
mysql_set_charset('utf8');
.
- مطالب مرتبط:
- چگونه گزینه های انتخاب شده یک CheckBox را با کمک inputهای hidden به صفحه سوم منتقل کنیم؟
- در آمدی بر زبان PHP
- نوشتن بر روی عکس با GD در PHP
- آموزش نمایش تاریخ هجری شمسی با استفاده از PHP در صفحات وب
- نکاتی در مورد کار با URL در پی.اچ.پی (Working with addresses in PHP)
- چگونه با PHP از اطلاعات دیتابیس خروجی csv بگیریم که کاراکترها درست نمایش داده شوند؟
- ------------
- نکاتی در مورد کار با URL در پی.اچ.پی (Working with addresses in PHP)
- تصحیح چینش حروف کیبورد با Microsoft Keyboard Layout Creator1.4 (ایجاد بهترین فارسی ساز ویندوز ویستا و 7 )
- آموزش آپلود فایل از طریق یک فرم در پی.اچ.پی (How to upload a file in PHP)
- نوشتن بر روی عکس با GD در PHP
- فرق include و require و توضیح include_once و require_once در زبان PHP
ارسال سؤال یا نظر
1- مرتضي:
بوسیله: , در: Thursday, 2012 January 19-کد: 3869
بسيار عالي بود . ممنون . مشكلم حل شد
2- Melika.A:
بوسیله: , در: Monday, 2014 August 04-کد: 11160
واقعا بسیار عالی ...
ممنون از شما
3- میثم:
بوسیله: meysam_2020, در: Saturday, 2014 August 16-کد: 11312
با سلام و خسته نباشید.
مهندس مشکلم حل شد.
تشکر از زحماتت.
موفق باشی.
4- ناهید:
بوسیله: , در: Wednesday, 2016 May 25-کد: 14499
ممنون
5- حسین:
بوسیله: , در: Monday, 2017 August 21-کد: 15315
خیلی متشکرrnخدا خیرتون بده