PDA

View Full Version : مشکل با حرف ف



angel_boy013
یک شنبه 04 آذر 1386, 13:23 عصر
من وقتی اطلاعات رو به بانک اطلاعاتی میفرستم مثلاً فیل وقتی میخوام بخونم از بانک این طوری میشه ف؟ل نوع فیلدم هم utf8_persian_ci هست نمیدونم مشکل از کجا هست میشه کمکم کنید ...؟

Folaani
یک شنبه 04 آذر 1386, 21:16 عصر
شما که گفتی با حرف ف مشکل داری! پس چرا جای ی علامت سوال گذاشتی؟
ضمنا ببین شاید مشکل از حرف ی عربی باشه (فکر کنم زیرش دوتا نقطه داره).
گرچه بنده تاحالا با چنین حالتی برخورد نکردم؛ ولی میدونم که بعضی کیبوردهای میکروسافت این اشتباه رو داشتن.
این حرف «ی» رو کپی پیست و تست کن، چون فارسی فارسیه!!

rezaTavak
یک شنبه 04 آذر 1386, 22:04 عصر
مشکل نه تنها از ی است از ک هم هست.

ویندوز یونیکد نیست.

این ک اصلی است و این ی اصلی است.

توی لینوکس برای ک از SHIFT+Z و ی از SHIFT+D استفاده می شود.

Folaani
دوشنبه 05 آذر 1386, 10:02 صبح
آخه حرف کاف هم عربی داره. تاجایی که شنیدم اشکال از keyboard layout میکروسافت هست؛ که البته ظاهرا پچی برای اصلاحش وجود داره (مثل اینکه ایرانیها درست کردن).
ک و ی در لینوکس همونطور هست که روی کیبورد باید باشه.
اونهایی که شما گفتی «ک ی» نوع عربیش رو تایپ میکنه (فقط نمیدونم چرا موقعی که در تکست باکس تایپ کردم عربی بود ولی الان که ارسال شد شکلش فارسی بنظر میاد!!).

بهرحال شاید اشکال دوستمون در مای اس کیو ال اصلا ربطی به این مسایل نداشته باشه. باید تست کنه.
چون معمولا فارسی و عربی با هم هست و هر دو رو شامل میکنن.

angel_boy013
دوشنبه 05 آذر 1386, 11:33 صبح
خیلی ممنون اما ببخشید من یه اشتباه کردم شما برای خودتون سر ی حرف زدین منظور من ؟یل مینویسه با ع هم مشکل داره یه خط و دو نقطه روش میزاره هر کاری هم کردم درست نشد نمیدونم مشکل از چی هست

angel_boy013
چهارشنبه 07 آذر 1386, 13:28 عصر
بابا یکی اینجا نمیخواد کمک کنه

mmnmmn
شنبه 24 آذر 1386, 11:12 صبح
سلام!
من با مشکلی که شما می گید قبلا مواجه بودم ولی نه در مورد بانک داده ی MySql بلکه در یک نرم افزار دیگه که داشتیم کدشو دست کاری می کردیم. خلاصه ی اون اینکه اون نرم افزار از کد اسکی استفاده می کرد و برای حروف لاتین و انگلیسی کار میکرد و ما می خواستیم فارسی اش کنیم و برای یونیکد فارسی کار کنه. یک تبدیل نوشتیم که حروف یونیکد رو به حروف مربوطه ی آنها در کد اسکی (یعنی کدهای بالای 128 که در بعضی کدها به این حروف اختصاص داده شده است)
تبدیل می کرد. آن موقع ما هم همین مشکل را داشتیم که با بررسی دیدیم در آن نرم افزار بعضی از کدهای اسکی را غیر فعال کرده بود مثلا کاراکترهای زیر 10 و همچنین کاراکتر مربوط به حرف "ف" را نیز غیر فعال کرده بود که ما نمی دانستیم برای چه. ما در کد آن این کاراکتر را فعال کردیم و سپس مشکل حل شد. اگر شما می خواهید ببنید که دقیقا مشکل چیه می توانید ابتدا ببینید که در اسکی حرف ف به چه کدی مربوط است و یک بار یک رشته با آن کد به بانک خود وارد کنید و بازیابی کنید و اگه با آن هم مشکل داشت معلوم می شود که این بانک داده از حروف اسکی متناظر با حروف فارسی استفاده میکند و اگر آن را درست بازیابی کرد نمی دانم چه می شود کرد!!
خلاصه اینکه شاید سریعترین کار این باشد که حرف ف را قبل از درج و بعد از بازیابی با یک حرف دیگر ی جابجا کنی مثلا یک کاراکتر بی استفاده مثل $ را جای ف درج و بازیابی کنی . برای این کار باید تابعهای کار با بانک داده ات کاملا مجزا از کد باشند و نه اینکه در کدت هر جا خواستی به بانک دسترسی پیدا کنی تا این تابعها کنترل درج و بازیابی را در اختیار داشته باشند و مشکلی برای برنامه ات پیش نیاید.
یا علی.