PDA

View Full Version : سوال: echo نشدن متن فارسی به طور کامل در php از بانک اطلاعاتی



amin_sltny
سه شنبه 26 فروردین 1393, 09:08 صبح
سلام

دوستان من یه مشکلی دارم توی php و mysql


یکسری اطلاعات فارسی را از بانک می خوام چاپ کنم در صفحه اما بعضی ها را درست چاپ می کنه بعضی ها را نه مثلا جنسیت زن را درست می نویسه زن ولی مرد را می نویسه مر�

بانک اطلاعاتی utf-8 هست اما بازم این مشکل را داره باید چه کار کنم

cpuram
سه شنبه 26 فروردین 1393, 10:10 صبح
اطلاعات توی بانک درست ذخیره شده؟ تعداد کاراکتری که برای فیلد جنسیت در نظر گرفتین چقدره؟
قبل از کوئری به دیتابیس از این استفاده کردین؟

mysql_query("SET NAMES utf8");

p30online
سه شنبه 26 فروردین 1393, 11:45 صبح
تاپیک های زیادی به این سوال جواب دادند همون بالا صفحه نوشته تاپیک پرسش های تکراری اونجا جوابشو داده اینجا (http://barnamenevis.org/showthread.php?356992-%D9%BE%D8%B1%D8%B3%D8%B4%D9%87%D8%A7%DB%8C-%D8%AA%DA%A9%D8%B1%D8%A7%D8%B1%DB%8C)
اگر متوجه نشدی یک اکسپورت از بانکت بگیر کدشو بگذار ببینیم

SlowCode
سه شنبه 26 فروردین 1393, 13:41 عصر
مشکل از انکودینگ نیست! چون "مر" رو درست نوشته! فقط حرف "د" نیافتاده.
خودتون هم میگین که "زن" رو درست مینویسه!
پس مشکل شما اینه که از تابع substr استفاده کردین و احتمالا براش محدودیت 3 کاراکتر دادین.
کاراکترهای فارسی دو بایتی هستن، اونکه میبینی حرف "د" ناقص افتاده دلیلش اینه که شما نصفش کردی:لبخندساده:
راه حلش هم mb_strcut هست.

احتمال دیگه هم اینه که تو دیتابیس طول رشته رو محدود کردین.
اگه اینطوره محدودیت رو کلا بردارین.

amin_sltny
جمعه 29 فروردین 1393, 09:05 صبح
مشکل از انکودینگ نیست! چون "مر" رو درست نوشته! فقط حرف "د" نیافتاده.
خودتون هم میگین که "زن" رو درست مینویسه!
پس مشکل شما اینه که از تابع substr استفاده کردین و احتمالا براش محدودیت 3 کاراکتر دادین.
کاراکترهای فارسی دو بایتی هستن، اونکه میبینی حرف "د" ناقص افتاده دلیلش اینه که شما نصفش کردی:لبخندساده:
راه حلش هم mb_strcut هست.

احتمال دیگه هم اینه که تو دیتابیس طول رشته رو محدود کردین.
اگه اینطوره محدودیت رو کلا بردارین.


چنین مشکلی را هم توی اسلاید شو این سایت (http://diyarema.ir/?req=site/news) دارم از mb_strcut استفاده کردم اما بازم حل نشد میشه بیشتر در مورد mb_strcut توضیح بدهید

amin_sltny
جمعه 29 فروردین 1393, 09:18 صبح
چنین مشکلی را هم توی اسلاید شو این سایت (http://diyarema.ir/?req=site/news) دارم از mb_strcut استفاده کردم اما بازم حل نشد میشه بیشتر در مورد mb_strcut توضیح بدهید


مشکل حل شد از mb_substr استفاده کردم


<?php echo mb_substr($Post['post_title'],0,60,'utf-8').'...'; ?>