رتبه موضوع:
  • 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
مشکل در url_decode
#1
سلام . من قسمتی از ادرس صفحم به این شکله مثلا : http://localhost/blog/post/single/یاسمن
الان میخام اون تیکه یاسمن بگیرم و بزارم تو متغیر خب ؟
این کدو زدم :
echo "<meta charset='utf-8' >";
$id = urldecode($id);
echo $id ;

ولی خروجی اینجوریه : اسمن 
کلا همه کلمات امتحان کردم ولی فهمیدم به حرف ی حساسه !!
چیگار کنم این ی رو هم کامل نمایش بده ؟؟؟
پاسخ
تشکر شده توسط:
#2
این لینک رو چک کنید: http://php.net/manual/en/function.urldecode.php#64676
پاسخ
تشکر شده توسط:
#3
چون گفتید با حرف ی مشکل داره، احتمالا بخاطر اینه که توی بعضی ویندوز ها کیبورد بجای ی فارسی ی عربی میزنه.
این مشکل با تبدیل ی عربی به ی فارسی یا بعکس حل میشه. یعنی همیشه از یک نوع ی استفاده بشه.
درمورد حرف ک هم همین مسئله وجود داره.
پاسخ
تشکر شده توسط:
#4
(10-07-1395، 02:01 ب.ظ)ADMIN نوشته: این لینک رو چک کنید: http://php.net/manual/en/function.urldecode.php#64676

اینو ک میدونم اخه !!!
مشکل من اصلا دقت کردین؟؟
پاسخ
تشکر شده توسط:
#5
آخ ! آخ ! بله درسته الان ک لینک چک کردم دیدم یه نفر تابع مناسبش نوشته . واقعا ببخشید !!!!
پاسخ
تشکر شده توسط:
#6
اقا این تابع یکی نوشته بود ولی اولش ک چک کردم دیدم درسته ها ولی نمیدونم باز چش شد دوباره از کار افتاد اینم تابعش :
function to_utf8( $string ) { 
// From http://w3.org/International/questions/qa...utf-8.html 
    if ( preg_match('%^(?: 
      [\x09\x0A\x0D\x20-\x7E]            # ASCII 
    | [\xC2-\xDF][\x80-\xBF]             # non-overlong 2-byte 
    | \xE0[\xA0-\xBF][\x80-\xBF]         # excluding overlongs 
    | [\xE1-\xEC\xEE\xEF][\x80-\xBF]{2}  # straight 3-byte 
    | \xED[\x80-\x9F][\x80-\xBF]         # excluding surrogates 
    | \xF0[\x90-\xBF][\x80-\xBF]{2}      # planes 1-3 
    | [\xF1-\xF3][\x80-\xBF]{3}          # planes 4-15 
    | \xF4[\x80-\x8F][\x80-\xBF]{2}      # plane 16 
)*$%xs', $string) ) { 
        return $string; 
    } else { 
        return iconv( 'CP1252', 'UTF-8', $string); 
    } 
}

چیکار کنم اخه ؟ ای بابا
پاسخ
تشکر شده توسط:
#7
پیشنهاد میکنم از خود شناسه‌های یونیکد اصلاً برای شناسایی محتوا استفاده نکنید بلکه id یا یه شناسه دیگه که مشکل نداره توی URL بگذارین و متن رو فقط برای SEO به URL اضافه کنید.
پاسخ
تشکر شده توسط:




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