نمایش نتایج 1 تا 12 از 12

نام تاپیک: مشکل در سرچ حرف ی بعد از تبدیل به فارسی

  1. #1

    مشکل در سرچ حرف ی بعد از تبدیل به فارسی

    سلام
    تو برنامه ام یه کمبوباکس دارم که اطلاعاتش رو از یه فیلد از جدول میاره و خاصیت autocomplete اش هم ست شده و برای سرچ یه نام ازش استفاده می کنم,
    من در سرچ حرف ک و ی مشکل داشتم به دلیل اینکه اطلاعات دیتابیس با کیبورد عربی وارد شده بود و کیبورد من فارسی بود, با استفاده از این کد:


    update member
    set member_last_name_vc=replace(member_last_name_vc,N' ك',N'ک')
    update member
    set member_last_name_vc=replace(member_last_name_vc,N' ي',N'ی')


    همه اطلاعات دیتابیس رو به فارسی تبدیل کردم و یه تریگر هم برای تیبلم نوشتم بعد از آپدیت و اینسرت حروف ک و ی رو به فارسی تبدیل کنه, برای حرف ک مشکل حل شد و سرچ به طور کامل انجام میشه ولی حرف ی وقتی فارسی میشه فقط موقع نوشتن کلمه autocomplete به درستی کار میکنه ولی اون کلمه تو دیتابیس ÷یدا نمیشه و اطلاعات دیگه اش نمایش داده نمیشه, مشکل چیه؟!
    ممکنه ربطی به کالکشن دیتابیسم داشته باشه؟ کالکشنم arabic_cs_as_ks_ws هست.

  2. #2
    کاربر دائمی
    تاریخ عضویت
    اردیبهشت 1386
    محل زندگی
    تهران
    پست
    157

    نقل قول: مشکل در سرچ حرف ی بعد از تبدیل به فارسی

    معمولا كالكشن صحيح Arabic_CI_AI انتخاب مي شود . در مورد حرف ي هم سه نوع ي با كدهاي اسكي زير وجود دارد:

    ى 1609 Arabic Windows 2k or higher (Alt + 238)
    ی 1610 Arabic Windows 98 (Alt + 239)

    ی 1740 Windows XP

  3. #3

    نقل قول: مشکل در سرچ حرف ی بعد از تبدیل به فارسی

    سلام
    در صورتی که مشکلتون حل نشد می توانی به جای تایپ خود حرف ی از شیفت+ط استفاده کن ي در جستجو مشکل حل می شود

  4. #4

    مشکل در سرچ حرف ی بعد از تبدیل به فارسی

    نقل قول نوشته شده توسط nkhozooii مشاهده تاپیک
    معمولا كالكشن صحيح Arabic_CI_AI انتخاب مي شود . در مورد حرف ي هم سه نوع ي با كدهاي اسكي زير وجود دارد:

    ى 1609 Arabic Windows 2k or higher (Alt + 238)
    ی 1610 Arabic Windows 98 (Alt + 239)

    ی 1740 Windows XP
    کالکشن رو تغییر دادم ولی فرقی نکرد, بعد من نگرفتم این کدهای اسکی رو که گفتید چه جوری باید استفاده کنم!

    سلام
    در صورتی که مشکلتون حل نشد می توانی به جای تایپ خود حرف ی از شیفت+ط استفاده کن ي در جستجو مشکل حل می شود
    بله با اینی که میگید مشکل حل میشه ولی اصل مشکل پابرجاست بعد من نمی تونم به کاربر بگم به جای ی از شیفت و ط استفاده کنه که :(

  5. #5
    کاربر تازه وارد آواتار moharrami
    تاریخ عضویت
    مهر 1387
    محل زندگی
    زنجان
    پست
    88

    نقل قول: مشکل در سرچ حرف ی بعد از تبدیل به فارسی

    شما می تونید موقعی که می خوایید از رشته تون استفاده کنید همه ی "ی"ها رو به "ي" تغییر بدید
    str.Replace('ی','ي');

  6. #6
    کاربر دائمی
    تاریخ عضویت
    اردیبهشت 1386
    محل زندگی
    تهران
    پست
    157

    نقل قول: مشکل در سرچ حرف ی بعد از تبدیل به فارسی

    استفاده از كد اسكي :


    char s;
    int ascii=1740;
    s=(char)ascii

    كد در كد بالا به اين طريق كد را به كاراكتر تبديل مي كني يا برعكس.
    در مورد عمل Replace هم به اين صورت مي شود:

    string Str = txt.Replace((char)1740, (char)1610);

  7. #7
    کاربر دائمی آواتار captain_black81
    تاریخ عضویت
    فروردین 1387
    محل زندگی
    تهران
    پست
    231

    نقل قول: مشکل در سرچ حرف ی بعد از تبدیل به فارسی

    میتونی توی سرچت هردو حالتو بذاری
    مثلا
    select * from table where name like N'%myName(persian)%' or name like'%myName(persian)%' ok?

  8. #8

    نقل قول: مشکل در سرچ حرف ی بعد از تبدیل به فارسی

    بهتره KeyPreview فرم رو فعال کنی و کد زیر رو در رویداد KeyPress بنویسی
    IF Key = #152 Then Key := #223;
    IF Key = #236 Then Key := #237;
    اولی برای رفع مشکل حرف ک و دومی برای حرف ی

  9. #9
    کاربر دائمی آواتار Happy_davood
    تاریخ عضویت
    دی 1383
    محل زندگی
    تبریز
    سن
    44
    پست
    306

    نقل قول: مشکل در سرچ حرف ی بعد از تبدیل به فارسی

    سلام
    بهترین روش برای خلاص شدن از این مشکل این هست اصلاً اجازه ندید تا انواع مختلف کاراکتر های "ی" یا "ک" وارد برنامه بشه . روش های خیلی اصولی و فنی برای انجام این کار هست . مثلاً در KeyDown فرم این کاراکتر ها رو اصلاح کنید تا فرم اصلاً اجازه ورود این کاراکتر ها رو به برنامه نده . می تونید برای راحتی یه کلاس جدید از کلاس Form مشتق کنید (که "ی" ها رو اصلاح می کنه) و همیشه فرم های خودتون رو از این فرم ایجاد کنید . این کار یکبار برای همیشه شما رو راحت می کنه

    حتی می تونید کنترل هایی مثل TextBox یا Combo رو هم مشتق کنید و این امکان رو براشون ایجاد کنید و همیشه به جای TextBox عادی از TextBox مشتق شده استفاده کنید . البته روش مشتق کردن Form بهتر از این هست که تک به تک کنترل ها رو مشتق کنید . هرچند در پروژه های بزرگ عملاً به این کار نیاز میشه (سفارشی کردن تقریباً تمام کنترل ها)

  10. #10

    نقل قول: مشکل در سرچ حرف ی بعد از تبدیل به فارسی

    ما هم توی سازمانمون مشکلات مشابهی داشتیم که با اجرای این اسکریپت سعی کردیم حلش کنیم
    یه نگاهی بهش بندازید شاید به دردتون خورد



    USE yourDB;

    DECLARE @Table NVARCHAR(MAX),
    @Col NVARCHAR(MAX)

    DECLARE Table_Cursor CURSOR
    FOR

    SELECT a.name, --table
    b.name --col
    FROM sysobjects a,
    syscolumns b
    WHERE a.id = b.id
    AND a.xtype = 'u' --User table
    AND (
    b.xtype = 99 --ntext
    OR b.xtype = 35 -- text
    OR b.xtype = 231 --nvarchar
    OR b.xtype = 167 --varchar
    OR b.xtype = 175 --char
    OR b.xtype = 239 --nchar
    )

    OPEN Table_Cursor FETCH NEXT FROM Table_Cursor INTO @Table,@Col
    WHILE (@@FETCH_STATUS = 0)
    BEGIN
    EXEC (
    'update [' + @Table + '] set [' + @Col +
    ']= REPLACE(REPLACE(CAST([' + @Col +
    '] as nvarchar(max)) , NCHAR(1740), NCHAR(1610)),NCHAR(1705),NCHAR(1603)) '
    )

    FETCH NEXT FROM Table_Cursor INTO @Table,@Col
    END CLOSE Table_Cursor DEALLOCATE Table_Cursor

    در تندیس های تخت جمشید هیچ کس در حال تعظیم نیست ، هیچ کس عصبانی نیست ، هیچ کس سرافکنده و شکست خورده نیست ، هیچ کس سوار بر اسب نیست ، هیچ قومی بر قوم دیگر برتر نیست ، هیچ کس برده نیست و هیچ تصویر خشنی دیده نمیشود.
    ************************************************** ******************************************
    اندیشه کن , آنگاه سخن گو تا از لغزش بر کنار باشی

  11. #11
    کاربر دائمی آواتار Happy_davood
    تاریخ عضویت
    دی 1383
    محل زندگی
    تبریز
    سن
    44
    پست
    306

    نقل قول: مشکل در سرچ حرف ی بعد از تبدیل به فارسی

    ما هم توی سازمانمون مشکلات مشابهی داشتیم که با اجرای این اسکریپت سعی کردیم حلش کنیم
    یه نگاهی بهش بندازید شاید به دردتون خورد
    البته من این کد رو بررسی می کنم . ولی طبیعی هست که این روش برای رفع مشکل اطلاعات موجود کاربرد داره و باید علاوه بر این مشکل از بیخ حل بشه .

  12. #12
    کاربر تازه وارد
    تاریخ عضویت
    خرداد 1388
    محل زندگی
    شیراز
    پست
    38

    نقل قول: مشکل در سرچ حرف ی بعد از تبدیل به فارسی

    براي تبديل اين حروف از كد زير استفاده كنيد
    publicstring correct(string str)
    {
    char[] ch = str.ToCharArray();
    char[] ch1=newchar[ch.Length];
    string temp="";
    for (int i = 0; i < str.Length; i++)
    {
    if (ch[i] == 'ی')
    ch1[i] =
    'ï';
    else
    ch1[i] = ch[i];
    }
    for(int i=0;i<ch1.Length;i++)
    temp+=ch1[i];
    return temp;
    }

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •