پاسخ : مشکل با یک اسکریپت فارسی
يكي از فايل هات درست utf نيست!
با اديتوري غير استاندارد ويرايش نكردي؟
صفحات رو باز كن...اونهايي رو كه اصلا توشنون كاراكتر فارسي نداري charset رو روي ANSi بذار...و بقيه رو هم با يك اديتور استاندارد UTF بذار...
نقل قول:
کسی همچین مشکلی براش پیش نیومده؟
سايت خودم در دو بخش!يك بخشش رو گشتم يافتم همين كار رو كردم...بخش ديگه رو فرصت كردم هنوز!
---------- Post added at 04:01 PM ---------- Previous post was at 03:46 PM ----------
اينم اضافه كنم كه نيازي نيست تك تك فايل ها رو دستي چك كني
من خودم براي شناسايي فايلي كه مشكل داره در جاهاي مختلف اسكريپت از دستورات header براي تست استفاده مي كنم و اين دوستورات هم نسبت به اين مورد يعني وجود كاراكتر اضافي (كه ناشي از همون اديتور غير استاندارد يا charset غير صحيح هست) حساس هستند و بايد قبل از خروجي اي باشند و در اين صورت پشغام خطا مي دند و اطلاع مي دند كه در فلان فايل و فلان خط خروجي داريم كه مشخص ميشه...
پاسخ : مشکل با یک اسکریپت فارسی
والا یه تگ هست که باید تو خط اول فایل مورد نظرتون بزارید برای من هم پیش اومد اما کد رو تو سیستم مغازه ندارم میگردم یه چیزی پیدا میکنم اما فکر کنم رضا داشته باشه:)
پاسخ : مشکل با یک اسکریپت فارسی
نقل قول:
نوشته اصلی توسط
Am!r
والا یه تگ هست که باید تو خط اول فایل مورد نظرتون بزارید برای من هم پیش اومد اما کد رو تو سیستم مغازه ندارم میگردم یه چیزی پیدا میکنم اما فکر کنم رضا داشته باشه:)
منظورت ob_start هست؟
من شخصا زياد ازش خوشم نمياد ! ولي ممكن هست مشكل رو رفع كنه و ممكن هست نكند !
ob_start رو كه بذاريم تمام خروجي در بافر ذخيره ميشود و تا زماني كه اراده نكنيم(!) هيچ دستوري به بروزر ارسال نمشيود (جز دستورات هدر).
ولي اگر مشكل مثلا در خود فايل index.php باشه ديگه زدن ob_start هم فايده نداره و نتيجه همين هست چون قبل از شروع كد نويسي php كاراكتر خروجي داشته ايم...
البته در اكثر موراد ماژول هاي يك سيستم ويرايش شده هستند و يا صفحات داخلي كه بعدا اينكلود ميشند و ob_start ميتونه كمك شاياني كني.
ولي تا وقتي ميشه مشكل رو اصولي تر حل كرد و با يك تغيير charset مشكل رو حل كرد نيازي نيست براي اين مشكل بافر داشته باشيم.
پاسخ : مشکل با یک اسکریپت فارسی
سلام
مگه نباید این باشه؟
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
با Dreamweaver هم ادیت می کنم
پاسخ : مشکل با یک اسکریپت فارسی
اين مربوطه به خروجي HTML شماست
خود فايل بايد توسط يك اديتور استاندارد كه از UTF پشتيباني مي كند به صورت UTF خيره بشه
با Dreamweaver خيلي وقت هست كار نكردم ولي احتمال ميدم از اين قابليت پشتيباني كند...
بهرحال نظر من استفاده از اديتور هايي هست كه تخصصا براي php نوشته شده اند
اديتور notepad++ هم خيلي خوبه هم رايگان هم با قابليت پشتيباني از UTF هست.
سپاس
پاسخ : مشکل با یک اسکریپت فارسی
آقا ممنون
چرست رو وسترن دادم درست شد!
میگم ذخیره سازی تحت یونیکد حجم فایل رو بالا میبره نسبت به اینکه خود فایل توش تعریف شه روی چی باز بشه
یه سوال دیگه هم داشتم...واسم جای سواله چرا دی بی رو وقتی از روی سرور دانلود میکنم به صورت یونیکد بعد همونو میارم روی لوکال کاراکترها دیگه فارسی نیست
چند بار هم دانلود کردم باز همون نتیجه رو داد
پاسخ : مشکل با یک اسکریپت فارسی
نقل قول:
نوشته اصلی توسط
vimax
آقا ممنون
چرست رو وسترن دادم درست شد!
میگم ذخیره سازی تحت یونیکد حجم فایل رو بالا میبره نسبت به اینکه خود فایل توش تعریف شه روی چی باز بشه
یه سوال دیگه هم داشتم...واسم جای سواله چرا دی بی رو وقتی از روی سرور دانلود میکنم به صورت یونیکد بعد همونو میارم روی لوکال کاراکترها دیگه فارسی نیست
چند بار هم دانلود کردم باز همون نتیجه رو داد
خواهش مي كنم
سوال اول رو متوجه نشدم، لطفا توضيح بديد.
مشكل دوم : وقتي دانلود مي كنيد فايل رو با ويرايشگر باز كنيد و ببينيد ايا درست هست يا نه...
اگر درست نبود charset رو تغيير نديد و بذاريد همون پيشفرض بمونه و ايمپورت كنيد و در خود cms باهاش درست كار مي كنه...
سي ام اس موقع اتصال به ديتابيس ممكن هست كوئري مربوط به تعيين charset اختصاصي رو داشته باشه و ممكن هست نداشته باشه پس هر گونه تغيير در حالت پيش فرض ممكن هست مشكل ايجاد كنه...
---------- Post added at 09:34 PM ---------- Previous post was at 09:33 PM ----------
و ضمنا اين رو هم دقت كنيد كه charset پيش فرض ديتابيس لوكال شما با ديتابيس سرور يكي باشد.
پاسخ : مشکل با یک اسکریپت فارسی
دوست من یک سوال آیا برای اتصال از mysql_pconnect استفاده می کنید؟
من هم چنین مشکلی داشتم از mysql_connect استفاده کردم درست شد.
پاسخ : مشکل با یک اسکریپت فارسی
نقل قول:
نوشته اصلی توسط
mather
دوست من یک سوال آیا برای اتصال از mysql_pconnect استفاده می کنید؟
من هم چنین مشکلی داشتم از mysql_connect استفاده کردم درست شد.
ارتباطي ندارند ، احتمالا موقع ويرايش فايل و ذخيره تغييرات جديد charset فايل رو درست ذخيره كرده ايد ...
پاسخ : مشکل با یک اسکریپت فارسی
سلام
من یه سیستم خبری فارسی دانلود کردم.
وقتی تیتر آخرین اخبار رو نشون میده ته حرفاش این میاد �
تیتر آخرین خبرها تو این سیستم بنا به تنظیم 60 بود که اینجوری میشه یعنی مثلا اگه تیتر خبری 61 بود 3 تا نقطه بعدش میاد حالا سوالم اینه خود خبر فارسیه.روی تیتر هم کلیک می کنم به صفحه خبر میرم تیترش فارسیه چرا اونجا � این میاد؟
برای مثال خبری با این عنوان می نویسم:
مشکل با یک اسکریپت فارسی
وقتی این تیترشو روی صفحه مربوطه می بینم اینجوریه :
مشکل با یک اسکریپت فارس�...
بعد که روی تیتر کلیک می کنم اصل خبر با تیترش واضحه یعنی این تیتر:
مشکل با یک اسکریپت فارسی
پاسخ : مشکل با یک اسکریپت فارسی
جايي از كد رو كه substr ميزنه رو بذار بررسي كنم.
قبلا اتفاقا همين مشكل رو در كد خودم داشتم يادم نيست دقيقا چجوري حلش كردم ... كدت رو بذار يك چك ميزنيم حل ميشه ايشالله!
پاسخ : مشکل با یک اسکریپت فارسی
کد PHP:
<?php do { ?>
<ul>
<li><a href="news_<?php echo $row_rsln['id']; ?>.html" title="تاریخ درج : <?php echo EnNum2FaNum($row_rsln['date']); ?> | <?php echo $row_rsln['title'] ?>" ><?php echo substr($row_rsln['title'],0,50)."..."; ?></a></li></ul>
<?php } while ($row_rsln = mysql_fetch_assoc($rsln)); ?>
اونجایی که نوشته 50 رو بکنم 100 درست میشه تعداد کاراکترها زیاد میشه و مشکل پیش نمیاد اما من میخوام همین 50 باشه
ممنون
یه سوال دیگه هم دارم آیا کدی هست که بشه جایگزین iframe کرد؟ که کار اونو انجام بده ؟ از همین راههایی که مثل بلاگفا بعضی کدها را ممنوع کرده
پاسخ : مشکل با یک اسکریپت فارسی
سلام
کد:
<?php do { ?>
<ul>
<li><a href="news_<?php echo $row_rsln['id']; ?>.html" title="تاریخ درج : <?php echo EnNum2FaNum($row_rsln['date']); ?> | <?php echo $row_rsln['title'] ?>" ><?php echo mb_substr($row_rsln['title'],0,50,'UTF-8')."..."; ?></a></li></ul>
<?php } while ($row_rsln = mysql_fetch_assoc($rsln)); ?>
براي حل مشكل از تابع mb_substr استفاده كردم و chaeset رو در تابع UTF-8 تعريف كردم.
سپاس