PDA

View Full Version : A Question about asp.net +sql server 2000



jazire
چهارشنبه 09 آذر 1384, 19:29 عصر
سلام.یه سوال داشتم :
من اطلاعات فارسی رو به خوبی در پایگاه وارد می کنم ولی تو بازیابی مشکل دارم.مثلا تو قسمت جستجوی نام اگر "ali" جستجو کنم جواب میده ولی اگر "علی" باشه جواب نمیده.
در واقع باید از جدول مربوطه first name هایی رو select کنه که از textbox ورودی داده شده.ولی جواب نمیده.
ممنون میشم اگه راهنماییم کنید.

nazaninam
چهارشنبه 09 آذر 1384, 22:04 عصر
1- کد های جستجو رو برامون بنویس
2- به مشکلات حرف ی دقت داشته باش

whitehat
چهارشنبه 09 آذر 1384, 22:20 عصر
ایا شما نوع فیلد ها را nvarchar گرفته اید ؟

aidinwashere
پنج شنبه 10 آذر 1384, 01:51 صبح
وقتی insert میکنی یک n قبلش بزار
مثال :

'آیدین'n
البته باید فیلدت nvarchar باشه.

jazire
پنج شنبه 10 آذر 1384, 10:09 صبح
با تشکر از توجه دوستان.ولی من در ورود اطلاعات مشکل ندارم.اینایی که شما گفتین مربوط به ورود اطلاعات میشه.اگه فیلدها رو یونیکدی تعریف نکرده بودم که اصلا نمی تونستم فارسی ذخیره کنم.
ببینید مشکل اینه که یه text box میاد اسم طرف رو میگیره.خوب.حالا میخوام از table اعضاء (members)تمامی اطلاعات طرفو بازیابی کنم.مثلا کد زیرو در نظر بگیرید:

"'& select * from Members Where Fname="'& textbox1.text

حالا این کد اگه نام طرف تو جدول members "علی" باشه چیزی بر نمیگردونه.ولی اگه "ali" باشه درست جواب میده.
ممنون میشم اگه کسی کمکم کنه............

Behrouz_Rad
پنج شنبه 10 آذر 1384, 11:03 صبح
حرف "ی" عربی و حرف "ی" فارسی با هم تفاوت دارند. (چیزی که 99 درصد برنامه نویسان به اون اهمیت نمیدن)
یعنی زمانی که کاربر در عبارت خود، حرف "ی" را وارد می کند، حرف "ی" فارسی برای او ثبت می شود.
در صورتی که در DBMS ها، حرف "ی" عربی شناخته شده است.
2 تا راه داری.
اگر از تابع جاوا اسکریپت برای تعیین زبان TextBox استفاده می کنی، باید کد حرف "ی" فارسی رو به کد حرف "ی" عربی تغییر بدی یا داده های ارسال شده توسط کاربر در سمت سرور رو آنالیز کنی و هر جا که حرف "ی" دیدی، با حرف "ی" عربی جایگزین کنی.
بر روی کلید های کیبورد، حرف "ی" فارسی با زدن کلید D و حرف "ی" عربی با فشار دادن همزمان کلیدهای Shift+X ثبت می شود.
کد یونیکد حرف "ی" که کاربر در وب فرم های شما وارد می کند، کد U+06CC است که باید به معادل عربی آن یعنی، U+064A تبدیل شود.

موفق باشید.

jazire
جمعه 11 آذر 1384, 12:38 عصر
با تشکر از توجه دوستان.
اعتراف میکنم منم جزو اون 99 درصدم.ولی ظاهرا مشکل از جای دیگه است.
کلا به ازای هیچ کاراکتر فارسی یا عربی جواب نمیده.( :ناراحت: ).
ممنون میشم اکه کسی کمک کنه.