PDA

View Full Version : سوال: sort فارسي



elyascomputer
پنج شنبه 01 اسفند 1387, 17:08 عصر
سلام
من تازه php شروع كردم
يه مشكلي هست كه ممنون مي شم راهنماييم كنين
من يه رشته حروف فارسي رو وقتي sort مي كنم حروف گ چ پ ژ اشتباه در مياد
و كلماتي كه شامل اين حروف هستند اول رشته ميان
خيلي سرچ كردم چيزي پيدا نكردم

smhnaji
جمعه 02 اسفند 1387, 12:45 عصر
دوست خوبم سوالت یه ذره گنگ هست. می‌شه بیشتر توضیح بدی؟

(البته این به این معنا نیست که من بتونم به سوالت جوابم بدم! فقط الان اصلا نمی‌دونم می‌تونم به سوالت جواب بدم یا نه!)

اطلاعات رو تو چی داری که می‌خوای sort کنی؟ از دیتابیس می‌گیری؟ تو یه آرایه داری؟ یه کم بیشتر توضیح بده لطفا

elyascomputer
جمعه 02 اسفند 1387, 21:51 عصر
با تشكر از شما دوست خوب
من در php يه آرايه درست كردم كه يك سري حروف يا اعداد و يا اعداد و حروف با هم رو توش مي زارم
ولي اگه تو اين آرايه از كلماتي كه شامل حروف گ چ پ ژ باشه استفاده كنم مثل كلمه ي (پارسا) اونوقت اين كلمه رو درست سورت نمي كنه و اون رو اول رديف مياره
مثلا اين طوري
پارسا احمد بهرام

sepehrmm
شنبه 03 اسفند 1387, 17:05 عصر
collation دیتا بیس شما چیه ؟
بزارش روی utf8_persian_ci ببین جواب میده یا نه ؟ اگه جواب نداد utf8 و cp1256_general_ci هم چک کن
توی help خود mysql در بخش 5.10 به نظر میاد یه چیزایی راجع به جداولی که در اونها اطلاعات مورد نیاز برای مرتب سازی لازمه رو نوشته شاید باید اون ها رو تغییر داد .

elyascomputer
شنبه 03 اسفند 1387, 23:44 عصر
ببينين من اصلا تو my SQL فعلا كار نمي كنم
فقط يه كد php نوشتم
.................................................. .................................................. ..............................................
<?php
$z = array('علي','احمد','پارسا','مهدي', 'بهروز');
rsort($z);
for ($n=0;$n<=4;$n++)
echo $z[$n].' ';
?>

smhnaji
یک شنبه 04 اسفند 1387, 00:18 صبح
الیاس جان شرمنده، من جواب سوالتو نمی‌دونم!
اما بذار حداقل به‌جای این تیکه کدی که نوشتی:


for ($n=0;$n<=4;$n++)
echo $z[$n].' ';

بگم که این راه بهتریه!:

print_r($z);
شرمنده!

elyascomputer
دوشنبه 05 اسفند 1387, 01:30 صبح
اس ام اچ ناجي عزيز خيلي ممنون از راهنمايي خوبت
خيلي بهتر شد
ولي هنوز مشكل اصلي سر جاشه:گریه:

smhnaji
سه شنبه 06 اسفند 1387, 00:50 صبح
اس ام اچ ناجي عزيز خيلي ممنون از راهنمايي خوبت
خيلي بهتر شد
ولي هنوز مشكل اصلي سر جاشه:گریه:
شرمنده الیاس جان

اگه بلد بودم حتما جواب می‌دادم. اما من فکر می‌کنم که این مشکل با روش‌های استاندارد قابل حل نباشه. یعنی راه نرمالی برای سورت کردن درست وجود نداره.

من شرمنده‌م که نمی‌تونم جوابتو بدم.
اون اول هم که من گفتم شاید نتونم جوابتو بدم، بخاطر این بود که گفتم شاید از آرایه‌ها استفاده کرده باشی

ببخشید به هر حال:افسرده::ناراحت:

elyascomputer
چهارشنبه 07 اسفند 1387, 20:56 عصر
شرمنده الیاس جان

اگه بلد بودم حتما جواب می‌دادم. اما من فکر می‌کنم که این مشکل با روش‌های استاندارد قابل حل نباشه. یعنی راه نرمالی برای سورت کردن درست وجود نداره.

من شرمنده‌م که نمی‌تونم جوابتو بدم.
اون اول هم که من گفتم شاید نتونم جوابتو بدم، بخاطر این بود که گفتم شاید از آرایه‌ها استفاده کرده باشی

ببخشید به هر حال:افسرده::ناراحت:
آره اين طور كه من پرسيدم مي گن يه تابع خاص براي سورت فارسي هست
كه من هنوز پيداش نكردم
بازم ممنون

yaqubian
پنج شنبه 08 اسفند 1387, 10:25 صبح
دوست عزیز
اینو یه نیگاه بندازین لطفا: احتمالا مشکلتون رو حل می کنه.
http://ehsanakhgari.org/article/php/persian-sorting-mysql
موفق باشید

smhnaji
پنج شنبه 08 اسفند 1387, 11:48 صبح
آقای یعقوبیان عزیز، مشکل دوستمون با آرایه‌ها هست.

درضمن ممنون بابت لینکی که گذاشتید.

narsic
پنج شنبه 08 اسفند 1387, 19:23 عصر
با سلام
دوست عزیز من تا بحال تابعی برای مرتب سازی فارسی ندیدم .(در زبان هایی که کار میکنم ندیدم)
معمولا دوستان یا خودشون مینوسن یا از کدهای موجود استفاده میکنن .
حالا من پیشنهاد میکنم که یا یه کلاس پیدا کن یا بنویس (به دستورات شرطی)
موفق باشید

elyascomputer
شنبه 10 اسفند 1387, 19:44 عصر
سلام من دوباره كد رو مينويسم
اين اصلا تو MySQL نيست فقط PHP





<?php
$z = array('علي','احمد','پارسا','مهدي', 'بهروز');
rsort($z);
for ($n=0;$n<=4;$n++)
echo $z[$n].' ';
?>

elyascomputer
شنبه 10 اسفند 1387, 19:49 عصر
معمولا دوستان یا خودشون مینوسن یا از کدهای موجود استفاده میکنن .

دوست عزيز من هم دنبال همون كد تابع مي گردم كه همه استفاده مي كنن