• 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
چرا اینطوری میشه؟
#1
با سلام
من به وسیله این کد گفتم اگر جملم بیشتر از 65 کاراکتر بشه اون رو قطع کنه
حالا چرا تو بعضی متن ها این علامت آخرش میاد
نمونه متن رو ببینید
کد:
نکته هایی درباره پرده‌ها د�...
وبعضی ها درست نشون میده
کد مروبوطه :
کد پی‌اچ‌پی:
$str_title strlen($dtitle);
if(
$str_title>50){
$main_title substr($dtitle,0,50);
$main_title .= '...'
}else{
$main_title $dtitle;



به نظر شما مشکل کجاست؟


علامت یه مربع تو آخرش میافته
تو فایرفاکس به ای مربع بع مربعی با متن های عجیب غربی می نویسه ولی تو بقیه مرورگرها یه مربع خالی میزاره
با تشکر ممل آمریکایی
  پاسخ
تشکر شده توسط :
#2
سلام

فکر نمی کنم این مشکل مربوط به کدنویسی php باشه. معمولا این مشکل زمانی پیش می آد که کدینگ صفحتون نمی تونه حروف و کارکاترهای نمایش داده شده رو بشناسه و به همین خاطر به جاشون علامتهای عجیب و غریب می زاره.

کدینگ صفحه تون رو روی utf تنظیم کنین. اگه مقدار متغییر dtitle$ رو از داخل دیتابیس می گیرین ، این مهمه که کدینگ دیتابیس هم utf باشه.

به هر حال این مشکل به احتمال خیلی قوی در نشناختن کاراکترهای فارسی برای نمایش توی صفحتون هست و به احتمال قوی به کدینگتون برمیگرده.

شاد باشید و جوان.
ایران سرزمین من است ، سرزمین پدران من است.
به خاکش سوگند ، برایش خون هم خواهم داد.
  پاسخ
تشکر شده توسط :
#3
بسم الله الرحمن الرحیم
سلام
بجای substr از mb_substr استفاده کن / پارامتر چهارم هم یادت نره :
کد پی‌اچ‌پی:
'UTF-8' 
http://www.php.net/manual/en/function.mb-substr.php
  پاسخ
تشکر شده توسط :


پرش به انجمن:


کاربران در حال بازدید این موضوع: 1 مهمان