مشكل با ديتابيس در موتور جستجو asp

miladanimator

Active Member
سلام بچه ها!
من يه موتور جستجو با اي.اس.پي درست كردم كه بانك اطلاعاتيش هم اكسسه
اما موقع معرفي سايت به موتور جستجو وقتي كلمات كليدي و توضيحات رو به زبان فارسي وارد ميكنم تو ديتابيس كلمات فارسي به يك سري كد عجيب تبديل ميشه.
مثلا حد اكثر توضيحات رو 200 حرف تعريف كردم اما وقتي اين 200 حرف به اين كدها تبديل ميشه چيزي حدود 370 حرف ميشه. در نتيجه سايت در موتور جستجو ثبت نميشه .
اگه كسي مي دونه كمكم كنه.
ميشه تو ديتابيس هم نوشته ها رو به utf-8 تبديل كرد؟؟
 

Hosein.NET

Member
اي نيمرو جان من يه هفته ميشه داد و بيداد ميكنم اما هيچ خبري نيست
 

mazoolagh

Active Member
قعلا به ديتابيس كاري نداشته باش!
اگر صفحه ورود اطلاعات و جستجوي شما هر دو يونيكد باشند اطلاعات هم صحيح ذخيره ميشن و هم در جستجو مشكلي ندارن يعني همون كدي كه باهاش داري عبارت انگليسي جستجو ميكني براي فارسي هم درست است.
ولي اگر ديتابيس از قديم اطلاعات دارد(يعني در محيط access وارد شده) ممكن است در نمايش ؟؟؟؟ نمايش دهد كه از يك كد مشابه زير استفاده ميكنند:

کد:
function tx(x)
	z = ""
	for i=1 to len(x)
		z = z & "&#" & ascw(mid(x,i,1)) & ";"
	next
	tx = z
end function

حالا اگر در خروجي چيزي شبيه محسن ميبيني معنيش اينه كه از يك تابعي مشابه فوق براي نمايش اطلاعاتي استفاده كردي كه خودش از قبل يونيكد بوده و احتياج به تبديل نداشته. شما ميتوني خيلي راحت در صفحه خروجي بگي طول عبارت ها رو هم چاپ كنه. حروف فارسي يونيكد دو بايتي هستند پس علي طولش 6 ميشه ولي علي آقا طولش 13 حرفه! يادت باشه كه كاراكترهاي معمولي همون يك بايت ميمونن براي همين هم هست كه 200 حرف شما دقيقا نشده 400 حرف
 

جدیدترین ارسال ها

بالا