PDA

View Full Version : مشکل کدینگ 1256 و حرف ی



tizdast
شنبه 20 آبان 1385, 15:51 عصر
سلام
توی یه قسمت از برنامه من که یه سیستم تحت وب مدرسه هست اول گروهای مختلفی (مثل گروه علمی و هنری و ورزشی ) رو تعریف میکنم که هرگروه یه کد داره.حالا اگه کسی بخواد تو یکی از این گروهها سوالی رو مطرح کنه (درست مثل همین سایت) و اون سوال هم تو جدول سوالات با این فیلدها ذخیره میشه ( کد سوال - کد گروه (که از جدول گروه fetch میشه) - کد سوال کننده - عنوان - توضیح سوال ) - حالا اگه تو عنوان سوال یا توضیحش حرف ی وجود داشته باشه دیگه کد گروه fetch نمیشه . اما اگه ی توش نباشه مشکلی نیست یا اگه هم ی رو با shift+x بزنم بازم مشکلی نیست و درست fetch میکنه.لطفااگه کسی راه حلی داره بگه . البته نگین که unicode باید بکنم.چون کل داده ها با arabic 1256 وارد دیتا بیس شده و حال هم نمیشه کاریش کرد.ممنون

javad_hosseiny
شنبه 20 آبان 1385, 20:28 عصر
البته اگر جستجو می کردید زودتر به جواب می رسیدید
این مشکل بیشتر به هنگام تعدد سیستم عامل های کاربران برنامه بوجود می آید (در sp1 و 98و.... بیشتر ی (ی عربی) هست و در sp2 و... ی (نرمال) )
برای رفع مشکل شما پیشنهاد می کنم
به هنگام ورود اطلاعات و یا هنگام سرچ (کلا در تمامی مواردی که کاربر مطلبی را وارد (تایپ) می کند) شما حرف ی را به ی تبدیل کنید (charater trans)
البته این مشکل در مورد حرف ک نیز می باشد.
به طور مثال:
بعد از تنظیمات و تغییرات لازم متغیرها و ... در دستور sql موردنظر در پایان دستور sql موردنظر را قبل از ارجاع به صورت ذیل تغییر دهید:


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

البته در این ادیتور (ادیتور مربوط به سایت برنامه نویس) خودش کارکترهای موردنظر مربوط به حرف ی را تغییر می دهد و سبب نمایش دستور فوق به این حالت می گردد.
ولی دقت کنید در پارامتر اول ی به صورت کد ; 1740 # & (تعمدا با فاصله نوشته که نمایش داده شود شما فاصله بینش را حذف کنید) نوشته می شود و در پارامتر دوم ی به صورت خود ی (یای عربی (یا زیردونقطه دار) ) ثبت می شود.