PDA

View Full Version : مشکل با حرف ی



setare7sky
یک شنبه 24 تیر 1386, 08:04 صبح
سلام
من قبلا یه برنامه با بانک Access نوشتم که اطلاعات از طریق یه فرم وارد برنامه می شدن ولی جدیدا بانک رو تبدیل به SQL کردم و اطلاعات از طریق یه برنامه دلفی وارد برنامه می شن . مشکلی که وجود داره اینه که موقع جستجو حرف ی پیدا نمیشه .
می دونم که این سوال قبلا به دفعات پرسیده شده ولی مشکل من یه چیز دیگه است .
من یه query توی sql نوشتم که کل بانک رو جستجو می کنه و کلیه رکوردهایی که در اونها کاراکتری با کد 236 وجود داره رو با کاراکتر 237 جایگزین می کنم ولی نتیجه همچنان همون قبلیه . من بر عکس این کار رو هم کردم یعنی همه کاراکترهایی که کد 237 دارند رو تبدیل به 236 می کنم ولی بازم مشکل حل نمیشه . حالا سوالم اینه که حرف ی بالاخره با یه کد وارد می شه و با یه کد خونده می شه پس چرا با وجود replace کردن بازم مشکل وجود داره ؟ :متفکر:
فقط در صورتی مشکل حل میشه که فیلدها مستقیما از طریق برنامه دلفی وارد برنامه بشن .

Batman
یک شنبه 24 تیر 1386, 08:13 صبح
شما تو درج حرف 'ی' هم مشکل دارین؟

hm1984ir
یک شنبه 24 تیر 1386, 08:22 صبح
برای نوشتن حرف ی باید از shift+x استفاده کنید.

setare7sky
یک شنبه 24 تیر 1386, 08:35 صبح
من برای اینکه مطمئن بشم که حرف ی رو درست تغییر می دم از کد اون 236و237 استفاده می کنم . حتی از shift+x هم استفاده کردم ولی نشده

ghabil
یک شنبه 24 تیر 1386, 13:30 عصر
هردوی این دیتابیسها یونیکد ساپورت هستند ، بجای 236 و 237 ، کارکتر 1740 را 1610 جایگزین کنید

SYNDROME
یک شنبه 24 تیر 1386, 15:28 عصر
با سلام

سلام
من قبلا یه برنامه با بانک Access نوشتم که اطلاعات از طریق یه فرم وارد برنامه می شدن ولی جدیدا بانک رو تبدیل به SQL کردم و اطلاعات از طریق یه برنامه دلفی وارد برنامه می شن . مشکلی که وجود داره اینه که موقع جستجو حرف ی پیدا نمیشه .
می دونم که این سوال قبلا به دفعات پرسیده شده ولی مشکل من یه چیز دیگه است .
من یه query توی sql نوشتم که کل بانک رو جستجو می کنه و کلیه رکوردهایی که در اونها کاراکتری با کد 236 وجود داره رو با کاراکتر 237 جایگزین می کنم ولی نتیجه همچنان همون قبلیه . من بر عکس این کار رو هم کردم یعنی همه کاراکترهایی که کد 237 دارند رو تبدیل به 236 می کنم ولی بازم مشکل حل نمیشه . حالا سوالم اینه که حرف ی بالاخره با یه کد وارد می شه و با یه کد خونده می شه پس چرا با وجود replace کردن بازم مشکل وجود داره ؟ :متفکر:
فقط در صورتی مشکل حل میشه که فیلدها مستقیما از طریق برنامه دلفی وارد برنامه بشن .
اگر با تعویض کاراکترها که دوستان چک کردن مشکل حل نشد
Collation Nameبانک SQLServer را چک کن باید روی Arabic_Cl_As تنظیم شده باشد.
موفق باشید.

Modernidea
یک شنبه 08 اسفند 1389, 20:49 عصر
سلام
معذرت میخوام بابت بالا آوردن این تاپیک قدیمی !

خوب، مشکل من اینه بانک من اکسس و داده هایی که در آن وارد شده رو من نمیدونم با چه سیستم عاملی و با چه نرم افزاری وارد شده اما مقدارش بسیار زیاد و امکان تایپ دوباره آن نیست.
مشکل اینجاست که حرف " ی " نه با کد 136 و نه 137 شناخته میشه.
یعنی اصلا حرف "ی" ای که در بانک است، در برنامه ای که من نوشتم قابل جستجو نیست.

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

چطوری بفهمم کد مربوط به این کاراکتر (ی) چند است؟

Modernidea
سه شنبه 10 اسفند 1389, 11:50 صبح
یکی از متن های موجود در بانک رو که حرف "ی" دارد را در یک متغیر ریختم و کد اسکی آن را بدست آوردم. 237 بود ! ولی وقتی که یک کاراکتر با کد 237 رو در بانک جستجو میکنم هیچ نتیجه ای ندارد. (درضمن جستجو مربوطه به این صورت است %..%).

این قضیه خیلی واسم مهمه !

لطفا اگه راهی هست بگید.

Modernidea
شنبه 14 اسفند 1389, 16:32 عصر
سلام

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

- دلفی 2010 را نصب کردم و از طریق اون به بانک مربوطه وصل شدم و کارهای زیر را انجام دادم :

- با یک حلقه تمام حروف با کاراکتر های 1603 را به 1705 تبدیل کردم (برای حرف "ک")
- با یک حلقه تمام حروف با کاراکتر های 1740 را به 1610 تبدیل کردم (برای حرف "ی"). توضیح : در اصل باید 1610 را به 1740 تبدیل کنید چون 1740 "ی" فارسی است اما وقتی من این کار را کردم به هیچ عنوام در دلفی7 کلمه "ی" قابل جستجو نبود، چه با کد 236 و چه با کد 237 به همین دلیل عکس این کار را انجام دادم.

با تشکر از دوستان.

موفق باشید.

Delphi 2010
پنج شنبه 19 اسفند 1389, 14:16 عصر
توجه به نوع فیلد در بانک اطلاعاتی بکن
ممکنه از اونجا باشه

Modernidea
پنج شنبه 19 اسفند 1389, 16:05 عصر
مثلا چه مشکلی میتونه داشته باشه فیلد مورد نظر؟!
مگه Access غیر از TEXT مشخصه دیگه ای هم داره؟!