واضح آرشیو وب فارسی:سایت ریسک: كار با رشته هاي فارسي در php iran-TEC 15 آذر 1387, 17:12با سلام خدمت اساتيد محترم php در برنامه php ام وقتي رشته فارسي را در يك متغير ذخيره مي كنم و قصد نمايش آن را در مرورگر IE دارم به صورت مستطيل نمايش مي دهد و وقتي unicode را از حالت utf-8 به windows-1256 تنظيم مي كنم متن درست مي شود و همچنين وقتي سورس يك سايت را از راه دور مي خوانم (با استفاده از curl ) وقتي قصد نمايش كاراكتر به كاراكتر محتويات فارسي سايت را دارم با همين مشكل مواجه مي شود و با تنظيم بر روي windows-1256 نيز مشكل حل نميشود البته براي سايت هايي كه charset را بر روي windows-1256 تنظيم كرده اند اين مشكل وجود ندارد . لطفا اينجانب را در حل اين مشكل ياري كنيد با تشكر از تمامي دوستان :rose: ziXet 15 آذر 1387, 18:10با سلام خدمت اساتيد محترم php در برنامه php ام وقتي رشته فارسي را در يك متغير ذخيره مي كنم و قصد نمايش آن را در مرورگر IE دارم به صورت مستطيل نمايش مي دهد و وقتي unicode را از حالت utf-8 به windows-1256 تنظيم مي كنم متن درست مي شود و همچنين وقتي سورس يك سايت را از راه دور مي خوانم (با استفاده از curl ) وقتي قصد نمايش كاراكتر به كاراكتر محتويات فارسي سايت را دارم با همين مشكل مواجه مي شود و با تنظيم بر روي windows-1256 نيز مشكل حل نميشود البته براي سايت هايي كه charset را بر روي windows-1256 تنظيم كرده اند اين مشكل وجود ندارد . لطفا اينجانب را در حل اين مشكل ياري كنيد با تشكر از تمامي دوستان :rose: ببین باید حتما با utf-8 ذخیره بشه و هدر هم باید اینجور ست بشه: <meta "Content-Type" content="text/html; charset=utf-8"> iran-TEC 16 آذر 1387, 03:34منظورتون از ذخيره با utf-8 چيه ؟ هدر سايت را با include كردن يك فايل html با محتويات زير روي utf-8 تنظيم كردم ولي درست نشد. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" ""> <html xmlns=""> <head> <META content="text/html; charset=utf-8"> <title>Untitled Document</title> </head> <body> ziXet 16 آذر 1387, 09:30منظورتون از ذخيره با utf-8 چيه ؟ هدر سايت را با include كردن يك فايل html با محتويات زير روي utf-8 تنظيم كردم ولي درست نشد. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" ""> <html xmlns=""> <head> <META content="text/html; charset=utf-8"> <title>Untitled Document</title> </head> <body> منظورم اینه که وقتی میخوای save کنی encoding رو utf-8 بذاری! خصوصا برای فایلهای حاوی کدهای php iran-TEC 16 آذر 1387, 13:23مشكل اول حل شد ولي مشكل دوم كه مشكل اصلي هم است همچنان باقي است مي خواستم بيشتر توضيح بدم : من ابتدا سورس يك سايت رو با استفاده از curl مي خونم در متغيري قرار مي دم و با استفاده از توابع كار با رشته php قسمت تگ <title> رو جدا مي كنم و با استفاده از strip_tags تگ هاي title رو هم حذف كرده ام و فقط متن فارسي اين تگ باقي مي مونه وقتي اقدام به چاپ كل رشته فارسي مي كنم بدون هيچ مشكلي نمايش داده مي شود ولي وقتي قصد چاپ كاراكتر به كاركتر رشته رو دارم در حالت utf-8 به صورت مستطيل و در حالت windows-1256 به صورت حرف هاي ظ و ط و چند علامت ناخوانا مي باشد من رشته رو به صورت يك آرايه از كاراكتر ها در نظر مي گيرم و با حلقه while چاپ مي كنم البته بايد بگم كه سايت هايي كه charset رو بر روي windows-1256 تنظيم كرده اند اين مشكل وجود ندارد (در صورت تنظيم header بر روي windows-1256) ziXet 16 آذر 1387, 13:44مشكل اول حل شد ولي مشكل دوم كه مشكل اصلي هم است همچنان باقي است مي خواستم بيشتر توضيح بدم : من ابتدا سورس يك سايت رو با استفاده از curl مي خونم در متغيري قرار مي دم و با استفاده از توابع كار با رشته php قسمت تگ <title> رو جدا مي كنم و با استفاده از strip_tags تگ هاي title رو هم حذف كرده ام و فقط متن فارسي اين تگ باقي مي مونه وقتي اقدام به چاپ كل رشته فارسي مي كنم بدون هيچ مشكلي نمايش داده مي شود ولي وقتي قصد چاپ كاراكتر به كاركتر رشته رو دارم در حالت utf-8 به صورت مستطيل و در حالت windows-1256 به صورت حرف هاي ظ و ط و چند علامت ناخوانا مي باشد من رشته رو به صورت يك آرايه از كاراكتر ها در نظر مي گيرم و با حلقه while چاپ مي كنم البته بايد بگم كه سايت هايي كه charset رو بر روي windows-1256 تنظيم كرده اند اين مشكل وجود ندارد (در صورت تنظيم header بر روي windows-1256) خب شما باید برای split کردن توابع مالتی بایت باید از mb_..... استفاده کنی! اینوببین میفهمی موفق باشید iran-TEC 16 آذر 1387, 14:08با تشكر از shahkey.com به خاطر راهنمايي هاي بسيار مهم شان لطفا در صورت امكان به مشكل زير هم پاسخ دهيد : براي مقايسه كاراكتر به كاراكتر رشته از همين توابع مي شود استفاده كرد : هدف برنامه من اينه كه كلمات فارسي رو در داخل رشته تشخيص بده و سپس اين كلمات رو در بانك ذخيره كنه چيزي مثل كار موتور هاي جستجو ziXet 16 آذر 1387, 17:51با تشكر از shahkey.com به خاطر راهنمايي هاي بسيار مهم شان لطفا در صورت امكان به مشكل زير هم پاسخ دهيد : براي مقايسه كاراكتر به كاراكتر رشته از همين توابع مي شود استفاده كرد : هدف برنامه من اينه كه كلمات فارسي رو در داخل رشته تشخيص بده و سپس اين كلمات رو در بانك ذخيره كنه چيزي مثل كار موتور هاي جستجو باید یه الگوریتم بنویسی! به این راحتیا نمیشه کلمه فارسی رو تو متن تشخیص داد! ولی میتونی یه آرایه درست کنی که توش همه حروف فارسی باشه بعد با حلقه for تک تک حرف ها رو با آرایه مقایسه کنی، اگه تو آرایه بود چاپ کنه اگه نبود چاپ نکنه!
این صفحه را در گوگل محبوب کنید
[ارسال شده از: سایت ریسک]
[مشاهده در: www.ri3k.eu]
[تعداد بازديد از اين مطلب: 2252]