برگزیده های پرشین تولز

جستجوی کلماتی که حرف ی دارند

fivestar

Registered User
تاریخ عضویت
14 نوامبر 2006
نوشته‌ها
73
لایک‌ها
0
من میخوام فیلدهایی از نوع nvarchar رو که درونشون اسامی دارای حرف" ی" فارسی هستن رو سرچ کنم ولی این کلمات قابل شناسایی نیستن !!!


با بقیه حروف مشکلی نیست .

برای ورود و جستجو مقادیر هم از پارامتر استفاده کردم .

در ضمن یکی می گفت باید Colation فیلد های از نوع Char رو به SQL _Latin1_General_CP1 256_CI_AS تغییر بدی . این کارو هم کردم ولی مشکل حل نشد !
 

alireza sh

مدیر بازنشسته
تاریخ عضویت
2 ژانویه 2006
نوشته‌ها
2,775
لایک‌ها
70
سن
40
محل سکونت
نصف جهان
دوست گرامی

همانطور که میدانید در صفحه کلید مورد استفاده ما دو نوع ی وجود دارد

اولی با فشردن کلید D نوشته میشود که همان ی فارسی است ==> ی
دومی با فشردن کلید Shift + X نوشته میشود که ی عربی است ==> ي

این دو با هم تفاوت دارند
 

firebird

Registered User
تاریخ عضویت
2 جولای 2005
نوشته‌ها
1,424
لایک‌ها
10
سن
46
به هر حال در هر رکورد معمولاً همه ی ها یا فارسی هستند یا عربی. راهش این هست که به سرور sql بگی که هر کدوم بود قبول کنه. مثلاً با php یه همچین کدی میشه :

PHP:
$word = 'آزمایش فارسی';
$word2 := str_replace($word, 'ی', 'ي');
$query = "SELECT * FROM `table` WHERE `field` LIKE '%{$word}%' OR `field` LIKE '%{$word2}%'";
....
 

fivestar

Registered User
تاریخ عضویت
14 نوامبر 2006
نوشته‌ها
73
لایک‌ها
0
اگه ورود اطلاعات توی وب انجام میشه، با جاوا اسکریپت ی ( D )رو به ي ( Shift+X )تبدیل کنی و بعد در SQL ذخیره کنی خیلی بهتره


فکر نمی کنم به کیبورد ربط داشته باشه چون ورود اطلاعات (INSERT ) هیچ مشکلی نداره وبه درستی حرف "ی" به شکل حرف "ی" فارسی وارد جدول میشه و مشکل فقط تو سرچ کردنه !!!

و بگم که تمام این کارها رو یه سیستم انجام میشه
 

firebird

Registered User
تاریخ عضویت
2 جولای 2005
نوشته‌ها
1,424
لایک‌ها
10
سن
46
تا حدودی درست میگه. به خصوص اینکه گفته "اگه ورود اطلاعات توی وب انجام میشه" این کار رو انجام بده. اما شما میتونی تبدیل ي های عربی به ی های فارسی رو درست قبل از INSERT ها و UPDATE ها هم انجام بدی. اونوقت هم نمایش اطلاعات شکیل تر میشه هم جستجو راحت تر میشه. مطمئن باش که یک تداخلی بین ی های فارسی و عربی داری.
 

fivestar

Registered User
تاریخ عضویت
14 نوامبر 2006
نوشته‌ها
73
لایک‌ها
0
فیلد NAME تو رکورد 1 مقدار "مرادی" داره.

فیلد NAME تو رکورد 2 مقدار "مرادي" داره.

وقتی که کلمه "مرادی" یا "مرادي" رو سرچ می کنم فقط رکورد 2 رو تو خروجی دارم.
 

rahahakimi0

کاربر تازه وارد
تاریخ عضویت
26 اکتبر 2016
نوشته‌ها
1
لایک‌ها
0
سن
38
سلام لیستی از کلماتی رو میخوام که به یر ختم میشوند.مثل زنجیر
 
بالا