PDA

View Full Version : موتور search که با حروف عربی مشکل دارد



neda_barnamenevis
دوشنبه 23 بهمن 1385, 10:49 صبح
با عرض سلام

من با php یک موتور search نوشتم که نام مقاله و نام نویسنده را به ما بدهد
اما مشکلی که دارد این است که اگر یکی keyboard آن عربی باشد و مثلاً بنویسد :امیری
در search برای من پیدا نمی کند موتور search من با (ک)و (ی) مشکل دارد یعنی
اگر کسی با keyboard عربی نوشته باشد به من نشان نمی دهد
لطفاً به من بگویید چه کار کنم.
ممنون

javad_hosseiny
دوشنبه 23 بهمن 1385, 11:15 صبح
نسبت به این مقوله تاکنون مطلب زیاد ارائه شده
اگر جستجو می کردید مطمئنا زودتر به جواب می رسید
(معمولا در ویندوزهای 98 و xp سرویس پک 1 ی (زیردونقطه) و کاف عربی می باشد و در سرویس پک 2 ی و کاف فارسی می باشد)

-----
این مشکل بیشتر به خاطر تفاوت ویندوزها کاربران می باشد (تفاوت به هنگام ورود اطلاعات و جستجوی آن) مخصوصا در دو حرف ی و کاف (که هر دو بین نسخه عربی و فارسی تفاوت دارد) برای این منظور پیشنهاد می کنم ابتدا یک بار کلا دیتابیس خود را نیز به این دو حرف پاکسازی کنید توسط تابع ereg_replace
(مثلا کلیه اطلاعات را خوانده و سپس با تغییر این دو کاراکتر در محتوی فیلدها آنها را مجددا ذخیره کنید و همچنین در قسمت ورود اطلاعات سایت (برنامه) خود نیز کنترل کنید در صورت وجود کاراکتر مثلا ی فارسی اون رو تبدیل به عربی (ی زیردونقطه ) بکند و در قسمت جستجو نیز عبارت جستجو را نیز اینچنین کنترل کنید)
مثال:



$SQL_QUERY=ereg_replace('ی','í',$SQL_QUERY);

neda_barnamenevis
دوشنبه 23 بهمن 1385, 13:38 عصر
با عرض معذرت می توانید در مورد i توضیح دهید که چیست.یعنی در مورد (ک) هم همین را باید بنویسیم.این دستور را کدام قسمت برنامه بنویسیم.

oxygenws
دوشنبه 23 بهمن 1385, 13:45 عصر
ی و ک عربی رو به ی و ک فارسی تیدیل کن... بهترع با str_replace کار کنی.

neda_barnamenevis
دوشنبه 23 بهمن 1385, 13:49 عصر
ببخشید می شود طرز کار با str_replace را برای من بنویسید

reza_rad
دوشنبه 23 بهمن 1385, 14:16 عصر
ببخشید می شود طرز کار با str_replace را برای من بنویسید


http://ir.php.net/manual/en/function.str-replace.php