View Full Version : سوال: دیتا بیس
rezjo2009
یک شنبه 03 اسفند 1393, 16:22 عصر
با سلام دوستان عزیز
چند وقتی هست که به دنیای وب امده ام به همین دلیل اطلاعات زیادی ندارم.
دوستان؛ در دیتابیس من زمانی که یک لینک که دارای حروف فارسی است را به صورت زیر ذخیره میکنه
%D8%A8%D9%88%D8%B1%D8%B3-%D8%AA%D9%87%D8%B1%D8%A7%D9%86-%D9%85%D9%86%D9%81%DB%8C-%D8%B4%D8%AF
و گاهی هم موضوع یا title رو به صورت
افتتاح و رونمای&#174 0;
ذخیره میکنه و با وجود این که تمام collation ها را با percian-ci , unicode-ci , general-ci امتحان کردم باز هم درست نشد لطفا راهنمیی بفرمایید.
با تشکر فراوان
rezjo2009
دوشنبه 04 اسفند 1393, 02:19 صبح
کسی کمک کنه!!!
golbafan
دوشنبه 04 اسفند 1393, 17:01 عصر
احتمالا اونها رو با فرمت html کپی میکنید
rezjo2009
سه شنبه 05 اسفند 1393, 09:25 صبح
نه . وقتی با فرمت پی اچ پی هم به همین صورته.
تمام انکودینگ ها و تمام collation ها رو تست کردم اما فایده ای نداست غیر از این که الان نمیدونم چجوری حجم دیتا بیسم خیلی زیاد شده.
دیگه نمیدونم باید چیکار کنم . کسی یک پیشنهاد بده.
mahdi_1986
سه شنبه 05 اسفند 1393, 10:36 صبح
سلام
به نظرم شما اول Url خودتون رو decode کنید بعد در DB ذخیره کنید
string urldecode ( string $str )
seven7777777
سه شنبه 05 اسفند 1393, 10:49 صبح
دوست عزیز چیزی که شما دارید نمایش میدید ، ربطی به بانکتون نداره
شما اونجایی که آدرس رو میگیرید و می خواید به عنوان پارامتر بدید به کوئری ، آدرس به این شکل در میاد
امتحانش راحته
آدرس رو از آدرس بار کپی کنید و در برنامه های دیگه پیست کنید ، می بینید که آدرس دقیقا به همین شکل در میاد
------------------
راستی اگه به دو سوال هم جواب بدید ممکنه به نتیجه بهتری برسید
1. چرا می خواین آدرس یا لینک در بانک ذخیره کنید
2. collation رو قبل از درج ردیف جدید تغییر دادید یا تغییر دادید و ردیف جدیدی درج کردید و نتیجه نداد ؟؟؟
------------------
و حتما اگه شد اون تیکه از کدتون رو که لینک یا عنوان صفحه رو میگیرید ، اینجا بزارید
موفق باشید
rezjo2009
سه شنبه 05 اسفند 1393, 10:53 صبح
من از دستور پایین استفاده کردم اما درست نشد
htmlspecialchars_decode($note, ENT_QUOTES);
rezjo2009
سه شنبه 05 اسفند 1393, 10:59 صبح
دوست عزیز چیزی که شما دارید نمایش میدید ، ربطی به بانکتون نداره
شما اونجایی که آدرس رو میگیرید و می خواید به عنوان پارامتر بدید به کوئری ، آدرس به این شکل در میاد
امتحانش راحته
آدرس رو از آدرس بار کپی کنید و در برنامه های دیگه پیست کنید ، می بینید که آدرس دقیقا به همین شکل در میاد
------------------
راستی اگه به دو سوال هم جواب بدید ممکنه به نتیجه بهتری برسید
1. چرا می خواین آدرس یا لینک در بانک ذخیره کنید
2. collation رو قبل از درج ردیف جدید تغییر دادید یا تغییر دادید و ردیف جدیدی درج کردید و نتیجه نداد ؟؟؟
------------------
و حتما اگه شد اون تیکه از کدتون رو که لینک یا عنوان صفحه رو میگیرید ، اینجا بزارید
موفق باشید
1.به خایر اینکه در نمایش تصادفی مطالب ازش استفاده بشه.
2.collation رو هم قبلش و هم بعدش تغییر دادم
seven7777777
سه شنبه 05 اسفند 1393, 11:03 صبح
نیازی نیست آدرس رو نگهداری کنید
شما اگه مطالبتون رو در یک جدول دیگه نگهداری می کنید که قائدتا هم همینطور هست
فقط کافیه آی دی یا کلید یکتای اون مطلب رو نگهداری کنید
نگهداری عنوان و آدرس بسیار کار اشتباهی هست
فضای بسیار بیشتری اشغال می کنه و از اون بدتر جامعین بانک رو از بین میبره
فرض کنید شما اینجا 100 لینک اضافه کردید
و یکی از مطالب عنوانش آپدیت شد ، اونوقت به مشکل می خورید
البته اگر مطالب تصادفی از مطالب سایت خودتون باشن نه دیگران
مشکل دیگه ای هم که پدید میاد اینه که این کار کاملا استاتیک هست و جالب نیست
شما باید به سمت پویایی پیش برید
مثلا در هر بار باز شدن سایت بین آد دی های موجود در بخش مطالب رندوم یک عدد انتخاب کنید و اون مطلب رو نمایش بدید
rezjo2009
سه شنبه 05 اسفند 1393, 15:17 عصر
نیازی نیست آدرس رو نگهداری کنید
شما اگه مطالبتون رو در یک جدول دیگه نگهداری می کنید که قائدتا هم همینطور هست
فقط کافیه آی دی یا کلید یکتای اون مطلب رو نگهداری کنید
نگهداری عنوان و آدرس بسیار کار اشتباهی هست
فضای بسیار بیشتری اشغال می کنه و از اون بدتر جامعین بانک رو از بین میبره
فرض کنید شما اینجا 100 لینک اضافه کردید
و یکی از مطالب عنوانش آپدیت شد ، اونوقت به مشکل می خورید
البته اگر مطالب تصادفی از مطالب سایت خودتون باشن نه دیگران
مشکل دیگه ای هم که پدید میاد اینه که این کار کاملا استاتیک هست و جالب نیست
شما باید به سمت پویایی پیش برید
مثلا در هر بار باز شدن سایت بین آد دی های موجود در بخش مطالب رندوم یک عدد انتخاب کنید و اون مطلب رو نمایش بدید
نه عزیزم
من از وبسایت های دیگه لینگ هارو ذخیره میکنم برای مثال:مطلب زیر که از سایت باشگاه خبرنگاران ایت و درباره افتتاح همایش است زمانی که ذخیره میشود به صورن لینک زیر ذخیره میشود و در زمان نمایش ان را نشان نمیدهد.
http://www.yjc.ir/fa/news/5142394/%D8%A7%D9%81%D8%AA%D8%AA%D8%A7%D8%AD-%D9%87%D9%85%D8%A7%DB%8C%D8%B4-%D8%A8%DB%8C%D9%86%E2%80%8C%D8%A7%D9%84%D9%85%D9%8 4%D9%84%DB%8C-%D8%AA%D8%AD%D9%88%D9%84-%D9%BE%D8%A7%DB%8C%D8%AF%D8%A7%D8%B1-%D8%AF%D8%B1-%D9%86%D8%B8%D
لینک (http://www.yjc.ir/fa/news/5142394/%D8%A7%D9%81%D8%AA%D8%AA%D8%A7%D8%AD-%D9%87%D9%85%D8%A7%DB%8C%D8%B4-%D8%A8%DB%8C%D9%86%E2%80%8C%D8%A7%D9%84%D9%85%D9%8 4%D9%84%DB%8C-%D8%AA%D8%AD%D9%88%D9%84-%D9%BE%D8%A7%DB%8C%D8%AF%D8%A7%D8%B1-%D8%AF%D8%B1-%D9%86%D8%B8%D)
seven7777777
سه شنبه 05 اسفند 1393, 23:11 عصر
امکان نداره دوست عزیز که نمایش نده
لطفا 3 مورد رو اینجا قرار بده
برای همین لینک که بالا دادی
1. متغیری که به کوئری درج در بانکت پاس میدی (آدرسی که وارد می کنی یا از جایی می خونی)
2. مقداری که از بانک در میاد و اصطلاحا سلکت می کنی رو هم اکو بگیر و بزار
3. تیکه کدی که لینک رو میگیری میزاری تو کوئری و تیکه کدی که از بانک میگیریش و نمایش میدی
seven7777777
سه شنبه 05 اسفند 1393, 23:12 عصر
در تایید حرف خودم شما نگاهی به لینک بنداز
من به آخر لینکی که شما اینجا گذاشتی یه 8 اضافه کردم و لینک به درستی کار کرد
بخاطر همین میگم مقداری که به بانک پاس میدی شما و مقداری که از بانک میگیری چک کن تا یکی باشن و این وسط اتفاقاتی مثل trim یک کاراکتر رخ نده
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.