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

نام تاپیک: مشکل به حرف"ي" در SQl Server 2000

  1. #1
    کاربر تازه وارد آواتار ghoroghchian
    تاریخ عضویت
    فروردین 1386
    محل زندگی
    یزد
    پست
    92

    مشکل به حرف"ي" در SQl Server 2000

    دوست من سلام

    من توي جدولم يه فيلد با نام خانوادگي دارم.
    وقتي از دستور Select استفاده ميکنم اونو بهم نشون نميده.يعني دستور
    Select * from Table where Family='محمدی'    

    خروجي نداره!

    "محمدی توی جدول هست"

    وقتي کلي باهاش کلنجار رفتم فهميدم که اگر توي مقدار اون فيلد حرف<ي>باشه تا قبل از اونو بهم نشون ميده يعني دستور
    select * from Table where Family like '%محمد'

    جواب ميده.
    خلاصه کلام با حرف <ي>مشکل دارم.
    البته Collaction Name پايگاه دادم Arabic_CI_AC هست یا یه همچین چیزی.
    ايا ربطي به هم داره يا نه؟
    اصولا بايد Collaction Name چي باشه؟

    ممنون

  2. #2
    کاربر دائمی آواتار linux
    تاریخ عضویت
    بهمن 1381
    محل زندگی
    تهران
    پست
    2,313

    نقل قول: مشکل به حرف"ي" در SQl Server 2000

    نقل قول نوشته شده توسط ghoroghchian مشاهده تاپیک
    دوست من سلام

    من توي جدولم يه فيلد با نام خانوادگي دارم.
    وقتي از دستور Select استفاده ميکنم اونو بهم نشون نميده.يعني دستور
    Select * from Table where Family='محمدی'    
    خروجي نداره!

    "محمدی توی جدول هست"

    وقتي کلي باهاش کلنجار رفتم فهميدم که اگر توي مقدار اون فيلد حرف<ي>باشه تا قبل از اونو بهم نشون ميده يعني دستور
    select * from Table where Family like '%محمد'
    جواب ميده.
    خلاصه کلام با حرف <ي>مشکل دارم.
    البته Collaction Name پايگاه دادم Arabic_CI_AC هست یا یه همچین چیزی.
    ايا ربطي به هم داره يا نه؟
    اصولا بايد Collaction Name چي باشه؟

    ممنون
    همه ي ها را به ی تبدیل کن خوب

  3. #3

    نقل قول: مشکل به حرف"ي" در SQl Server 2000

    جستجو قبل از پرسش

  4. #4
    کاربر دائمی
    تاریخ عضویت
    اسفند 1384
    محل زندگی
    tehran
    پست
    207

    نقل قول: مشکل به حرف"ي" در SQl Server 2000

    دوست عزيز collation زير رو امتحان كن
    Arabic_CI_AI_KS_WS
    در ضمن براي اينكه به اينجور مشكلات برنخوري دامنه select تو وسيعتر كن.
    Select * From Table Where Family like'%محمد%'

  5. #5
    کاربر تازه وارد آواتار ghoroghchian
    تاریخ عضویت
    فروردین 1386
    محل زندگی
    یزد
    پست
    92

    نقل قول: مشکل به حرف"ي" در SQl Server 2000

    دوستان سلام
    خودم مشكلشو فهميدم
    اگه نوع Nvarchar باشه با اين مشكلات رو برو ميشين
    اما اگه نوع varchar باشه شما هر نوع "ي" يا "‌ی" كه وارد كنيد به صورت "ي ذخيره ميشه
    چه توي C#‎ و چه توي SQL

  6. #6

    نقل قول: مشکل به حرف"ي" در SQl Server 2000

    البته اگر collation شما عربي باشد. در غير اينصورت فقط ???? در ديتابيس ذخيره مي‌شود.

  7. #7
    کاربر دائمی
    تاریخ عضویت
    شهریور 1387
    سن
    44
    پست
    634

    نقل قول: مشکل به حرف"ي" در SQl Server 2000

    این کد رو امتحان کن درست می شه
     
    select *from table where familly=N'محمدی'

  8. #8
    کاربر تازه وارد آواتار siavash_realy
    تاریخ عضویت
    فروردین 1386
    محل زندگی
    تهران
    پست
    75

    نقل قول: مشکل به حرف"ي" در SQl Server 2000

    خيلي وقت ها كه چاره جز استفاده از nvarchar نداري يك راه امن و مطمئن اينه كه يك اسكريپت ويندوزي بنويسي كه كار زير رو انجام بده. اگر وقت كردم بعدن واست مينويسم و ميزارم اينجا :
    بايد همه كامپيوترهايي كه كار ورود اطلاعات انجام ميدن تنظيمات ويندوز زر رو داشته باشن :
    control panel > regional & language options > Advanced > Select Farsi from combo box و گزينه apply all رو هم علامت بزن ، اينطوري همه ي ها به جاي عربي (با دو نقطه زير)‌به صورت فارسي ذخيره ميشن و وقتي ي ها درست و همشكل ذخيره شن تو پايگاه داده ات ديگه مشكل چندگانگي ي رو نداري

  9. #9
    کاربر دائمی آواتار zoofa
    تاریخ عضویت
    اردیبهشت 1387
    محل زندگی
    اصفهان
    سن
    34
    پست
    287

    نقل قول: مشکل به حرف"ي" در SQl Server 2000

    سلام دوست عزيز
    ويندوزي كه من دارم xp است و روش فارسي ساز نصب شده است
    تنظيمات regional and language options فارسي است اما ي ها را با زير نقطه مي گذارد كه همان ي عربي است. در ويستا هم چك كردم ي را بدون زير نقطه و ي فارسي مي نويسد.
    من دارم يك برنامه مي نويسم كه روي شبكه كار مي كند و اين ي ها ممكن است در سيستم هاي مختلف متفاوت باشد و موقع ثبت در بانك ممكن است هر 2 مدل ي ثبت شود كه در كوري مشكل پيش مي آيد و نتايج را درست نمي آورد و موجب دردسر است
    مي خواستم ببينم آيا راه حلي وجود دارد كه در هنگامي كه كاربر اطلاعات را از سيستم وارد مي كند هر دو مدل ي فارسي و ي عربي تبديل به يك ي (ي فارسي) شود و در بانك ذخيره شود تا بعداً مشكل پيش نيايد.
    يا بطور اتوماتيك بانك sql server 2005 را طوري تنظيم كرد كه فقط ي فارسي ذخيره كند.

    اين مشكل ي و حرف ك (حرف ك هم عربي و فارسي اش فرق مي كند ولي بقيه حروف يكي است) مشكل تمام برنامه نويسان است.
    آيا مي شود راه حل جامعي ارائه داد تا اين مشكل برطرف شود؟
    با تشكر

  10. #10

    نقل قول: مشکل به حرف"ي" در SQl Server 2000

    واقعا راه حلی نداره؟
    من از داخل خود sql server که مینویسم با ی فارسی مینویسه و ذخیره میکنه
    اما وقتی تو برنامه ی خودم که از یونیکد استفاده میکنه مینویسم با ی عربی مینویسه!!!!!

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

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