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

نام تاپیک: مشکل گرفتن query با حرف 'ی' ؟

  1. #1
    کاربر دائمی آواتار sasan_vm
    تاریخ عضویت
    بهمن 1381
    محل زندگی
    زاهدان
    پست
    494

    مشکل گرفتن query با حرف 'ی' ؟

    سلام

    یک database در SQL-Server دارم که هر query که شامل حرف 'ی' باشد را نمی تواند
    شناسائی کند. بعنوان مثال:

    1 - select * from tbPerson where name like '%علی%'
    2 - select * from tbPerson where name like '%عل%'


    در query 1 با اینکه چند record شامل اسم 'علی' هستند نتیجه تهی است ولی در
    query 2 همه اسامی کا شامل 'عل' هستند منجله اسامی 'علی' انتخاب می شوند.

    تصویر ضمیمه نتایج 2 query را نشان میدهد !
    عکس های ضمیمه عکس های ضمیمه
    • نوع فایل: jpg sql.JPG‏ (79.6 کیلوبایت, 104 دیدار)

  2. #2
    کاربر دائمی آواتار اَرژنگ
    تاریخ عضویت
    آبان 1384
    محل زندگی
    arjang8000@gmail.com
    پست
    2,736
    شاید برایه اینکه از 'ىٰ عربی استفاده شده ''ی'. یکی از جوابهایی را که برمیگرادنه کپی و پیست کنید در سلکت استفاده کنید، ببینید جواب میده و یا نه.

  3. #3
    کاربر دائمی آواتار arshia_
    تاریخ عضویت
    بهمن 1381
    محل زندگی
    ایران-شهر فرزانگان( بروجرد )
    پست
    1,226
    پیشنهاد می کنم با کمک یه فرمان update در بانک تمام ی هایی فعلی رو که مشکلدار هستند با مقدار ی درست جایگزین کنید
    یا در موقع گرفتن مقادیر رشته ای ابتدا کارکتر ی رو تصحیح کنید و سپس دستور رو اجرا کنید

  4. #4
    کاربر دائمی آواتار ali_kolahdoozan
    تاریخ عضویت
    بهمن 1384
    محل زندگی
    اون سر دنیا
    پست
    1,631
    یک فارسی ساز ساده نصب کنید

  5. #5
    نقل قول نوشته شده توسط ali_kolahdoozan مشاهده تاپیک
    یک فارسی ساز ساده نصب کنید
    وقتی که الان به دو صورت ذخیره شده این فارسی ساز کار نمیکند.
    زمانی که برنامه شما web Base باشد چی؟ آنگاه بازم این فارسی ساز به کار خواهد آمد؟
    فکر کنم عرشیا بهترین راه رو برای جلوگیری از این مشکل گفته باشه.
    و آرژنگ هم بهترین راه حل برای مشکل فعلی..

  6. #6
    کاربر دائمی آواتار ali_kolahdoozan
    تاریخ عضویت
    بهمن 1384
    محل زندگی
    اون سر دنیا
    پست
    1,631
    توی وب که unicode رو ست میکنیم مشگل حله .

  7. #7
    کاربر دائمی آواتار اَرژنگ
    تاریخ عضویت
    آبان 1384
    محل زندگی
    arjang8000@gmail.com
    پست
    2,736
    نقل قول نوشته شده توسط DonetKarvb مشاهده تاپیک
    وقتی که الان به دو صورت ذخیره شده این فارسی ساز کار نمیکند.
    زمانی که برنامه شما web Base باشد چی؟ آنگاه بازم این فارسی ساز به کار خواهد آمد؟
    فکر کنم عرشیا بهترین راه رو برای جلوگیری از این مشکل گفته باشه.
    و آرژنگ هم بهترین راه حل برای مشکل فعلی..
    همانطوره که جناب کلاهدوزان گفتند از یونیکد استفاده کنید.
    من راه حل پشینهاد نکردم، arshia_ راه حل خوبی گفتند، فقط میتونم بهش اضافه کنم که قبل از اینسرت ی را با ی عوض کنید.

  8. #8
    نقل قول نوشته شده توسط ali_kolahdoozan مشاهده تاپیک
    توی وب که unicode رو ست میکنیم مشگل حله .
    وب و یا ویندوز چه ربطی به دیتابیس دارد؟
    این مشکل همچنان در یونیکد هم وجود دارد یه نگاهی به تاپیک زیر بیندازید
    https://barnamenevis.org/showthread.php?t=58643

  9. #9
    کاربر دائمی آواتار sasan_vm
    تاریخ عضویت
    بهمن 1381
    محل زندگی
    زاهدان
    پست
    494
    سلام

    با تشکر از دوستان برای راهنمائی ها و پاسخ هایشان، من مشکلم را باتبدیل کد فارسی به
    عربی حل کردم و نتایج بررسی هایم را برایتان مینویسیم شاید مفید واقع شود:

    برای حرف 'ی' 12 کد در جدول unicode وجود دارد (در صورت شمردن حروف کوچک و .. بیشتر هم میشود) ، database من روی web است ولی ما دو برنامه ورود اطلاعات داریم یکی تحت
    web و دیگری win32 جالب اینجاست که در برنامه win32 حرف 'ی' با کد 1610 ذخیره میشود
    ('ی' عربی) ولی در برنامه Web کد 1740 ('ی' فارسی) و جالبتر اینکه اگر در رشته ای شما
    'ی' فارسی داشته باشید با کد 1740 به هیچ عنوان SQL-Server 2000 آن را شناسائی نمیکند و با تبدیل کد 1740 به 1610 مشکل حل میشود. البته شاید این مشکل در SQL-Server 2005 حل شده باشد (تست نکرده ام).

  10. #10
    این مشکل در sql وجود دارد البته بعضی وقتها با حرف "ک" هم این مشکل پیش میاد یه موقعی من خیلی دنبالش بودم که راه حل اونو بدست بیارم اما نشد ولی بعضی وقتها که جای "ی" دوباره تایپ می کنید درست می شه فکر می کنم مربوط به فونتهای فارسی باشه

  11. #11
    کاربر دائمی آواتار shayan_delphi
    تاریخ عضویت
    مرداد 1384
    محل زندگی
    اصفهان
    پست
    274
    از داخل برنامه که یک کلمه مثل "علی" را هم در بانک ذخیره می کنیم بعد در کوئری خود sql
    پیدا نمی کنه!!!!
    سر جمع بحث چی شد؟راه حل برای application ؟

  12. #12
    کاربر دائمی آواتار Happy_davood
    تاریخ عضویت
    دی 1383
    محل زندگی
    تبریز
    سن
    44
    پست
    306
    البته 4 تا کاراکتر این مشکل رو خواهند داشت : ی - ک - ء و الف حمزه دار .
    من خودم یه تابع نوشتم که رشته رو میگیره و همون رشته رو بصورت اصلاح شده پس می ده و همهیشه قبل از ذخیره هر رشته ای در DB این تابع رو فراخوانی می کنم . یعنی هیچ وقت کاراکتر اشتباه وارد DB نمیشه . موقع جستجو هم رشته وارد شده توسط کاربر رو با همین تابه اصلاح می کنم و بعد جستجو می کنم . با این کار دیگه نباید نگران نوع ویندوز و کدینگ سیستم بود .

  13. #13
    کاربر دائمی آواتار اَرژنگ
    تاریخ عضویت
    آبان 1384
    محل زندگی
    arjang8000@gmail.com
    پست
    2,736
    نقل قول نوشته شده توسط sasan_vm مشاهده تاپیک
    سلام

    با تشکر از دوستان برای راهنمائی ها و پاسخ هایشان، من مشکلم را باتبدیل کد فارسی به
    عربی حل کردم و نتایج بررسی هایم را برایتان مینویسیم شاید مفید واقع شود...:
    .
    خیلی متشکر از ایکنه بعد از حل مشکلات نتایج بررسی هایتان را فرستادید، خیلی ها اینکار را نمیکنند، امیوارم این روش برایه بقیه هم عادت بشه.

  14. #14
    کاربر دائمی آواتار Happy_davood
    تاریخ عضویت
    دی 1383
    محل زندگی
    تبریز
    سن
    44
    پست
    306
    ضمناً باید دقت کنید اگه مقادیری رو روز اول خودتون بصورت دستی وارد DB می کنید ممکنه بعداً براتون مشکل ساز بشه . بهتر هست این مقادیر رو هم با روش بالا و از طریق برنامه وارد کنید .

  15. #15
    با سلام
    چرا از یک trigger برای اینکار استفاده نمیکنی؟

  16. #16
    کاربر تازه وارد آواتار payam_skandari
    تاریخ عضویت
    بهمن 1385
    محل زندگی
    ایران ...
    پست
    50
    نقل قول نوشته شده توسط Happy_davood مشاهده تاپیک
    البته 4 تا کاراکتر این مشکل رو خواهند داشت : ی - ک - ء و الف حمزه دار .
    من خودم یه تابع نوشتم که رشته رو میگیره و همون رشته رو بصورت اصلاح شده پس می ده و همهیشه قبل از ذخیره هر رشته ای در DB این تابع رو فراخوانی می کنم . یعنی هیچ وقت کاراکتر اشتباه وارد DB نمیشه . موقع جستجو هم رشته وارد شده توسط کاربر رو با همین تابه اصلاح می کنم و بعد جستجو می کنم . با این کار دیگه نباید نگران نوع ویندوز و کدینگ سیستم بود .
    دوستای عزیز توجه داشته باشن اگر قرار بود همین سایت برنامه نویس واسه ذخیره پستها اول اونا رو اصلاح کنه .که دیگه ما نمیتونستیم برای ادای مطلبمون دو جور ک و دو جور ی بنویسیم.باید راه حل دیگه ای داشته باشه.
    استاد ثباتی باید لطف کنن راه حل ارایه کنن.
    همگی ممنون میشیم.

تاپیک های مشابه

  1. the query must be an updateable query
    نوشته شده توسط hamed_bostan در بخش VB.NET
    پاسخ: 2
    آخرین پست: چهارشنبه 08 فروردین 1386, 16:02 عصر
  2. مشکل در ثبت اطلاعات در query
    نوشته شده توسط maisam57 در بخش برنامه نویسی در Delphi
    پاسخ: 4
    آخرین پست: دوشنبه 03 مهر 1385, 09:17 صبح
  3. درخواست یک query
    نوشته شده توسط golagha_program در بخش Access
    پاسخ: 3
    آخرین پست: پنج شنبه 30 شهریور 1385, 12:20 عصر
  4. Query
    نوشته شده توسط حمیدرضاصادقیان در بخش برنامه نویسی در Delphi
    پاسخ: 3
    آخرین پست: پنج شنبه 30 شهریور 1385, 03:09 صبح
  5. در مورد SQL و Query لطفاٌ کمک کنید.
    نوشته شده توسط Abbasgholami در بخش بانک های اطلاعاتی در Delphi
    پاسخ: 6
    آخرین پست: دوشنبه 20 شهریور 1385, 13:54 عصر

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

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