PDA

View Full Version : تعویض کاراکتر با معدل یونی کد!!!



ب- تات
چهارشنبه 20 تیر 1386, 12:30 عصر
یه برنامه با اینتراوب دارم . حالا که اطلاعات داخل دیتا بیس را که از روی وب پر شده را گرفتم همه کاراکتر ها درست هستن غیر از "ی" هر جا این کاراکتر تایپ شده جاش معادل یونی کدیش نمایش داده میشه .خیلی عجیبه چرا فقط "ی" اینطوری شده؟ لطفا راهنمایی کنید؟

علی علیرضائی
چهارشنبه 20 تیر 1386, 12:58 عصر
اگه فقط مشکلت اینه که اون حرف 'ی' رو عوض کنی که با یه دستور Replace مشکلت حل میشه
اگه میخوای بدونی که چرا فقط 'ی' اینجوری شده باید ببینی اطلاعات وقتی تو database ذخیره شده اون سیستم فایل kbdfa.dll روی سیستمش هست اگه kbdfa.dll را بریزی تو دایرکتوری dllcache این مشکلت هم حل میشه

-------------------------------------------------
انجمن مهندسان فعال (http://www.eaclub.com)

ب- تات
چهارشنبه 20 تیر 1386, 13:13 عصر
ضمن تشکر
[quote]اگه kbdfa.dll را بریزی تو دایرکتوری dllcache این مشکلت هم حل میشه[quote]
برنامه تحت وب هست امکان داره 100 نفر از روی 100 کامپیوتر مختلف دور دنیا اطلاعات وارد کنن نمیشه بهمشون بگم Kbdfa.dll رو سیستمش نصب باشه که. اون Replace هم خوبه اما مشکل باید ریشه ای حل بشه

SYNDROME
چهارشنبه 20 تیر 1386, 13:37 عصر
با سلام

اگه فقط مشکلت اینه که اون حرف 'ی' رو عوض کنی که با یه دستور Replace مشکلت حل میشه
اگه میخوای بدونی که چرا فقط 'ی' اینجوری شده باید ببینی اطلاعات وقتی تو database ذخیره شده اون سیستم فایل kbdfa.dll روی سیستمش هست اگه kbdfa.dll را بریزی تو دایرکتوری dllcache این مشکلت هم حل میشه

حتی اگر بتواند چنین کاری را نیز بکند ممکن است برنامه دیگر نیز خراب شد (در سایت جستجو کنید تا مطالب بیشتری را پیدا کنید)


برنامه تحت وب هست امکان داره 100 نفر از روی 100 کامپیوتر مختلف دور دنیا اطلاعات وارد کنن نمیشه بهمشون بگم Kbdfa.dll رو سیستمش نصب باشه که. اون Replace هم خوبه اما مشکل باید ریشه ای حل بشه

شما می توانید از چند روش برای این کار استفاده کنید:
1-موقعی که کاربر کلید "ی" را فشار می دهد شما چنین دستوری بنویسید.


IF Key = #236 Then Key := #237;

2-در هنگام ذخیره در DataBase کاراکتر به کاراکتر اطلاعات را خوانده و هر جا به حرف"ی" کد ان را با کد مربوطه عوض کنید.
اگر در سایت جستجو کنید می توانید مطالب بیشتری به دست آورید
موفق و پایدار باشید

ب- تات
چهارشنبه 20 تیر 1386, 14:25 عصر
اول آیا هیچکدام از عزیزان میدونن چرا داره این اتفاق میافته؟
بعدش میریم که سر حرف 'ی' کلاه بزاریم

SYNDROME
چهارشنبه 20 تیر 1386, 20:35 عصر
با سلام

اول آیا هیچکدام از عزیزان میدونن چرا داره این اتفاق میافته؟
بعدش میریم که سر حرف 'ی' کلاه بزاریم
ما که در حرفهای خودمان گفتیم مشکل این است که کد 236 ارسال می شود.


بعدش میریم که سر حرف 'ی' کلاه بزاریم
عزیز دل برادر کلاه گداشتن کجاست.(پس اگر اینجوری باشد همه شرکتهای ایران کلاه می می گذارند).
موفق باشی.

ب- تات
پنج شنبه 21 تیر 1386, 06:05 صبح
بسیار خوب .اما چون برنامه تحت وب هست من نمیتونم برای هر کلید که کاربر میزنه کدش رو عوض کنم . اونوقت 2 روز طول میکشه تا کاربره بخواد یه چیزی وارد کنه . چون به ازای هر کلمه که وارد میکنه صفحه یک بار باید Postback بشه بره کد کلید فعلی عوض بشه دوباره برگرده .فکر کنم باید این کار رو با Javascript انجام بدم.قبول دارم داره موضوع تاپیک عوض میشه و این سوال رو هم در قسمت Javascript خواهم پرسید. اما همینجا قاچاقی کسی از عزیزان میتونه برای این تعویض کد وقتی تو وب هستیم کمکم کنه؟

ghabil
پنج شنبه 21 تیر 1386, 14:07 عصر
اینکه چرا اینطوری میشه ، دلیلش نادرست بودن مپینگ بعضی از حروف روی کیبورد فارسی هست ، که فعلا ک و ی از همه بیشتر تو چشم هستند و در واقع معادل عربیشون جای فارسی رو گرفته .
بهترین روش هم همون تبدیل کد هست ، که البته اون چیزی که اینجا گفته شده درست نیست چون توی وب باید معادل یونیکدی حروف رو عوض کنی که برای ی باید 1740 رو به 1610 تبدیل کنی ، این کار رو با گرفتن Event.keyCode و و تبدیلش به 1640 در صورتی که 1740 بود میتونی انجام بدی...
به هیچ وجه هم نباید برای هر حرف یکبار به سرور برگردی !!! اگر نمیخوای از JS استفاده کنی میتونی وقتی که کل اطلاعات به سرور داده شده ، قبل از دخیرشون یکبار فیلترشون کنی و مقادیر رو درست کنی بعد بریزی توی دیتابیس...

ب- تات
شنبه 23 تیر 1386, 08:12 صبح
ضمن تشکر از حسن دقت شما

گر نمیخوای از JS استفاده کنی میتونی وقتی که کل اطلاعات به سرور داده شده ، قبل از دخیرشون یکبار فیلترشون کنی و مقادیر رو درست کنی بعد بریزی توی دیتابیس
من هم دقیقا نظرم همین کار هست . فقط یک سوال من حرف "ک" رو دارم درست میبینم آیا بعدا توی Search این حرف "ک" مشکل آفرین نیست؟ یعنی نیازی نیست من اون رو هم عوض کنم؟ در اینصورت کد "ک" چی هست و باید به چی تبدیل بشه؟
بعدشم چطور میتونم این کاری که گفتید رو در هنگام ذخیره انجام بدم.یه توضیح کوچیک بدین لطفا