PDA

View Full Version : سوال: تبدیل کاراکتر های فارسی در ورود اطلاعات JTextField



kobari
دوشنبه 18 شهریور 1387, 13:55 عصر
سلام
در فرم های ورود اطلاعات فارسی کاربر در استفاده از حرف <ی> با یونیکد 1740 و حرف <ي> با یونیکد 1610 امکان انتخاب دارد که باعث دوگانگی ارزش حرف ی در اطلاعات ذخیره شده می گردد و عواقب آن بخصوص در جستجوی اطلاعات ظاهر می شود. برای جلوگیری از این کار از چه روشی باید برای تبدیل حرف ي به ی هنگام ورود اطلاعات در JTextField استفاده کرد؟

hadi12579
دوشنبه 18 شهریور 1387, 15:06 عصر
با سلام .
آقا من یک مشکل دیگه هم دارم . چطور می تونم با کلید میانبر مثلا س+alt یک textbox رو فعال کرد . با کلید میانبر با حروف انگلیسی مشکلی ندارم ولی برای فارسی رو نمی دوم .
ممنون .

kobari
پنج شنبه 21 شهریور 1387, 14:41 عصر
با سلام .
آقا من یک مشکل دیگه هم دارم . چطور می تونم با کلید میانبر مثلا س+alt یک textbox رو فعال کرد . با کلید میانبر با حروف انگلیسی مشکلی ندارم ولی برای فارسی رو نمی دوم .
ممنون .
دوست عزیز چیزی که پرسیدی چه ارتباطی با سئوال مطرح شده داره؟

mohssen_mz
شنبه 23 شهریور 1387, 10:56 صبح
سلام
در فرم های ورود اطلاعات فارسی کاربر در استفاده از حرف <ی> با یونیکد 1740 و حرف <ي> با یونیکد 1610 امکان انتخاب دارد که باعث دوگانگی ارزش حرف ی در اطلاعات ذخیره شده می گردد و عواقب آن بخصوص در جستجوی اطلاعات ظاهر می شود. برای جلوگیری از این کار از چه روشی باید برای تبدیل حرف ي به ی هنگام ورود اطلاعات در JTextField استفاده کرد؟

سلام
این از مشکلات اکثر برنامه نویسان و برنامه هاست که تغصیر خوشون هم نیست.
تو فروم دلفی اینو سرچ کن "مشکل با حرف ک"

amirfarshad
شنبه 23 شهریور 1387, 13:12 عصر
سلام
در فرم های ورود اطلاعات فارسی کاربر در استفاده از حرف <ی> با یونیکد 1740 و حرف <ي> با یونیکد 1610 امکان انتخاب دارد که باعث دوگانگی ارزش حرف ی در اطلاعات ذخیره شده می گردد و عواقب آن بخصوص در جستجوی اطلاعات ظاهر می شود. برای جلوگیری از این کار از چه روشی باید برای تبدیل حرف ي به ی هنگام ورود اطلاعات در JTextField استفاده کرد؟
یه پیشنهاد داشتم، البته راه خوبی نیست، ولی برای برنامه های کوچیک جواب میده و برای برنامه ها بزرگ کمی سرعت رو میاره پایین:
ورودی رو وقتی خوندیش، قبل از اینکه بریزیش توی دیتابیس و یا هر کار دیگه ای انجام بدی، اول بیایی مثلا همه حرفهای "ی" رو به "ي" تبدیل کنی، بعد کاری رو که میخواهی انجام بدی.
کار جالبی نیست ولی خیلی از مشکلات رو حل میکنه.

kobari
یک شنبه 24 شهریور 1387, 06:36 صبح
یه پیشنهاد داشتم، البته راه خوبی نیست، ولی برای برنامه های کوچیک جواب میده و برای برنامه ها بزرگ کمی سرعت رو میاره پایین:
ورودی رو وقتی خوندیش، قبل از اینکه بریزیش توی دیتابیس و یا هر کار دیگه ای انجام بدی، اول بیایی مثلا همه حرفهای "ی" رو به "ي" تبدیل کنی، بعد کاری رو که میخواهی انجام بدی.
کار جالبی نیست ولی خیلی از مشکلات رو حل میکنه.
مرسی از پا سختان، البته پیشنهاد شما مشکل را حل میکند ولی از آنجائی که component های زیادی وجود دارند که ورود اطلاعات توسط آنها انجام میشوند، برای پیاده سازی آن باید در تک تک این component ها این کنترل را پیاده سازی کرد . مطمنآ با انعطاف پذیری که جاوا دارد حتمآ باید مکانیزمی برای این کار وجود داشته باشد تا بتوان این مشکل را در سطح برنامه حل کرد.

kobari
یک شنبه 31 شهریور 1387, 07:17 صبح
یه پیشنهاد داشتم، البته راه خوبی نیست، ولی برای برنامه های کوچیک جواب میده و برای برنامه ها بزرگ کمی سرعت رو میاره پایین:
ورودی رو وقتی خوندیش، قبل از اینکه بریزیش توی دیتابیس و یا هر کار دیگه ای انجام بدی، اول بیایی مثلا همه حرفهای "ی" رو به "ي" تبدیل کنی، بعد کاری رو که میخواهی انجام بدی.
کار جالبی نیست ولی خیلی از مشکلات رو حل میکنه.

الالحساب تا پیدا کردن راه حل اساسی مشکل با همین روش یعنی تعریف یک داکومنت فیلتر در کامپننت های ورود اطلاعات برطرف گردید

amirfarshad
یک شنبه 31 شهریور 1387, 11:42 صبح
فکر نکنم که راه حل اساسی برای اینکار باشه، چون مشکل از برنامه های ما نیست، مشکل از کدپیج هست که اونهم مربوط به ویندوزه(با دیگر سیستم عاملها کار ندارم فعلا).