واضح آرشیو وب فارسی:سایت ریسک: t=5588">نمايش اعداد به فارسي faizhk 27 آذر 1382, 14:50يه سوالي داشتم در مورد اعداد فارسي. قبلاً يه جاي ديده بودم، اما حال نميتونم پيدايش كنم. چگونه ميتوان (با كدام كد و يا سكرايپت) اعداد را به صورت فارسي در روي صفحه ظاهر ساخت (منظورم از 1، 2، 3 و .... ميباشد). البته كسانيكه Regional Option ويندوس شان روي Farsi باشه كه هيچ پرابلمي ندارند و به فارسي ميبيند. اما در بسياري كمپيوترهاي روي آلمان و يا انگليس ميباشه. اما سايتهاي را ديدم كه اعداد هميشه به فارسي نشون داده ميشن. با چه ميتوان اين كارو كرد، با ستايل ها يا با چيز ديگري. سيستم مورد نظر زيادتر PHP-Nuke ميباشد. saeedsmka 27 آذر 1382, 14:58بهترين راه استفاده از كد يونيكده و همچنين استفاده از سيمبل faizhk 27 آذر 1382, 15:03بهترين راه استفاده از كد يونيكده و همچنين استفاده از سيمبل ميتونين واضحتر جواب بدين؟ من از كد يونيكد استفاده ميكنم (utf-8) منظورتان از سيمبل چيست؟ اگر منظور تان از سمبول و يا سمبل است كه اينكار امكان ندارد، چون چگونه ميتوان ساعت را با سمبل نشان داد. saeedsmka 27 آذر 1382, 23:02اين قدرت برنامه نويسه. من هم يه مشكل همين جوري اول جملت بايد فارسي باشه و از span استفاده كن اگه فارسي باشه 1234 و خارجي k1234 faizhk 03 دي 1382, 12:42منظور تون را درست متوجه نشدم. البته كه از SPAN هم استفاده كردم و همه جملات به فارسي نشون داده ميشن و در فارسي بودن شان هيچ پرابلمي ندارم. يكي از سايتهاي كه ميخوام نشون بدم مثلاً ميباشد. با وجود آنكه ميدون كه با ASP نوشته شده اما اعدادش به فارسي نشون داده ميشن، در حاليكه regional setting بنده آلماني هستيش. onikzeh 11 دي 1382, 01:28سلام . هر جا خواستي عدد بنويسي از يونيكدش (منظورم عدد مربوط به شكلكش ) استفاده كن مثلا ۱۲۳۴۵٦٧٨٩۰ faizhk 11 دي 1382, 13:12سلام . هر جا خواستي عدد بنويسي از يونيكدش (منظورم عدد مربوط به شكلكش ) استفاده كن مثلا ۱۲۳۴۵٦٧٨٩۰ منظورت را درست متوجه نشدم، چه جوري مربوط به شكلكش؟ و با در قسمت تاريخ كه خودش ظاهر ميشه چه جوري بايد كرد؟ omidak 11 دي 1382, 17:39سلام: اين كه سادس...: UniCode هایه بین: 0660 تا 0669 اعداد عربی هستن . که مال ما هم همونه :wink: faizhk 11 دي 1382, 23:31سلام: اين كه سادس...: UniCode هایه بین: 0660 تا 0669 اعداد عربی هستن . که مال ما هم همونه :wink: اما در قسمت تاريخ نگفتي كه چطور ميشه. اون كه خودش بالا مي آد و چه جوري اعدادش فارسي باشه؟ omidak 12 دي 1382, 01:48سلام: خوب اين هم سادس كه ... ميتوني از كد Replace استفاده کنی :lol: اعداد رو به اون UniCode ها Replace کن :wink: faizhk 12 دي 1382, 11:59بابا يك مثال كه بنويس كه من درست متوجه شوم. omidak 12 دي 1382, 16:56سلام: خوب كد Replace که دیگه خیلی تابلوه :roll: tmpStr=Replace(tmpStr,"1",chrw("0661") faizhk 12 دي 1382, 18:59سلام: خوب كد Replace که دیگه خیلی تابلوه :roll: tmpStr=Replace(tmpStr,"1",chrw("0661") اول اينكه يك جهان سپاس. من اينجوري نوشتم: <? $tmpStr=1234; $faiz_now = str_replace ($tmpStr, "3", chr ("0661")); echo "$faiz_now"; ?> اما در بيروني علامت ؟ را نشون ميده، و اگر encoding رو عربي بسازم صفر عربي نشون ميده. كجاش اشتباه است؟ omidak 12 دي 1382, 20:40<? $tmpStr=1234; $faiz_now = str_replace ($tmpStr, "3", chr ("0661")); echo "$faiz_now"; ?> اما در بيروني علامت ؟ را نشون ميده، و اگر encoding رو عربي بسازم صفر عربي نشون ميده. كجاش اشتباه است؟[/quote] سلام خوب برايه 3 بايد unicode شماره 0663 استفاده کنی.... برایه هر عدد از همون Unicode... که از شماره 0660 هستن تا 0669 :wink: راستی اونی کنوشتی فکر کنم PHP هستش... که من کار نکردم... اما کد chr UniCode رو Support میکنه؟ :roll: و حتما باید صفحه شما UniCode رو Support کنه.... اینجا رو باید آقا مجید گل کمک ات کنه... :wink: faizhk 12 دي 1382, 21:13پس اوني كه تو نوشتي چيست؟ مال من كه معلومه PHP هستش. 3 را با 0663 انجام دادم اين علامت — رو نشون ميده. omidak 13 دي 1382, 14:203 را با 0663 انجام دادم اين علامت — رو نشون ميده. پس لابد کد Chr در PHP از UniCode Support نمیشه... اما 1 امتحان هم بکن: :wink: از UniCode هایه 06F0 تا 06F9 استفاده کن... اینها هم همون اعداد هستند :wink: amirnezhad 13 دي 1382, 23:53سلام اين يه تابع ساده توي PHP كه اعداد رو فارسي مي كنه ... function STR_PNumber($number) { $pNum = array("Û°", "Û±", "Û²", "Û³", "Û´", "Ûµ", "Û¶", "Û·", "Û¸", "Û¹"); $eNum = array("0", "1", "2", "3", "4", "5", "6", "7", "8", "9"); for ($i=0; $i<count($pNum); $i++) { $number = ereg_replace($eNum[$i], $pNum[$i], $number); } return $number; } اين هم عكس اين كار ... function STR_ENumber($number) { $pNum = array("Û°", "Û±", "Û²", "Û³", "Û´", "Ûµ", "Û¶", "Û·", "Û¸", "Û¹"); $eNum = array("0", "1", "2", "3", "4", "5", "6", "7", "8", "9"); for ($i=0; $i<count($eNum); $i++) { $number = ereg_replace($pNum[$i], $eNum[$i], $number); } return $number; } و خوب براي استفاده از اين تابع ها هم كه ختما مي دوني چكار بايد بكني ... <? echo STR_PNumber("1234567890"); ?> faizhk 14 دي 1382, 15:16سلام اين يه تابع ساده توي PHP كه اعداد رو فارسي مي كنه ... function STR_PNumber($number) { $pNum = array("Û°", "Û±", "Û²", "Û³", "Û´", "Ûµ", "Û¶", "Û·", "Û¸", "Û¹"); $eNum = array("0", "1", "2", "3", "4", "5", "6", "7", "8", "9"); for ($i=0; $i<count($pNum); $i++) { $number = ereg_replace($eNum[$i], $pNum[$i], $number); } return $number; } اين هم عكس اين كار ... function STR_ENumber($number) { $pNum = array("Û°", "Û±", "Û²", "Û³", "Û´", "Ûµ", "Û¶", "Û·", "Û¸", "Û¹"); $eNum = array("0", "1", "2", "3", "4", "5", "6", "7", "8", "9"); for ($i=0; $i<count($eNum); $i++) { $number = ereg_replace($pNum[$i], $eNum[$i], $number); } return $number; } و خوب براي استفاده از اين تابع ها هم كه ختما مي دوني چكار بايد بكني ... <? echo STR_PNumber("1234567890"); ?> خودت امتحان كرديش؟ براي من كه اينو Û±Û²Û³Û´ÛµÛ¶Û·Û¸Û¹Û° نشون ميده. شايد منظورم را متوجه نشده باشيد. من نمي خواهم اعداد را به صورت يك، دو، سه... ببينم، بلكه ميخواهم شكل فارسي 1234... باشد. اما باز هم كود كه شما فرستاديد كارآيي دارد چون اعداد را درست كردم: $pNum = array("۰", "۱", "۲", "۳", "۴", "۵", "٦", "٧", "٨", "٩"); و تقريباً كارم پيش رفته، اما در قسمت تاريخ چكار كنم؟تاريخي كه در همين PHP-Nuke فارسي هستيش و با اين echo_now() نشون داده ميشه faizhk 14 دي 1382, 16:203 را با 0663 انجام دادم اين علامت — رو نشون ميده. پس لابد کد Chr در PHP از UniCode Support نمیشه... اما 1 امتحان هم بکن: :wink: از UniCode هایه 06F0 تا 06F9 استفاده کن... اینها هم همون اعداد هستند :wink: با اينها هم اين كارو نكردم، ولي نتيجه نداد. بالاخره با همه اينها: 0x0020, 0x0021, 0x061B, 0x066B, 0x00A 4, 0x066A, 0x060C, 0x06AF, 0x0029, 0x0028, 0x002A, 0x002B, 0x0648, 0x002D, 0x002E, 0x002F, 0x0030, 0x0031, 0x0032, 0x0033, 0x0034, 0x0035, 0x0036, 0x0037, 0x0038, 0x0039, 0x003A, 0x0643, 0x003E, 0x003D, 0x003C, 0x061F, 0x066C, 0x0624, 0x200C, 0x0698, 0x0649, 0x064D, 0x0625, 0x0623, 0x0622, 0x0651, 0x0629, 0x00BB, 0x00AB, 0x0621, 0x004E, 0x005D, 0x005B, 0x0652, 0x064B, 0x0626, 0x064F, 0x064E, 0x0056, 0x064C, 0x0058, 0x0650, 0x0643, 0x062C, 0x005C, 0x0686, 0x00D 7, 0x0640, 0x200D, 0x0634, 0x0630, 0x0632, 0x064A, 0x062B, 0x0628, 0x0644, 0x0627, 0x0647, 0x062A, 0x0646, 0x0645, 0x067E, 0x062F, 0x062E, 0x062D, 0x0636, 0x0642, 0x0633, 0x0641, 0x0639, 0x0631, 0x0635, 0x0637, 0x063A, 0x0638, 0x007D, 0x007C, 0x007B, 0x007E اينكارو كردم، ولي نشد omidak 14 دي 1382, 17:31چه شير تو شير شد :lol: ببين همون كدهايي كه دستمون فرستاد . درسته... چون ufo8 نبود همچین شد... و خودت گفتی درستشون کردی دیگه :wink: اما برایه تاریخ هم خوب از همون استفاده کن: STR_PNumber(echo_now()) ما که تریپه VB رو نوشتیم... :lol: اما فکر کنم همین باشه... آروم آروم داریم PHP یاد میگیریم :lol: faizhk 14 دي 1382, 18:02چه شير تو شير شد :lol: ببين همون كدهايي كه دستمون فرستاد . درسته... چون ufo8 نبود همچین شد... و خودت گفتی درستشون کردی دیگه :wink: اما برایه تاریخ هم خوب از همون استفاده کن: STR_PNumber(echo_now()) ما که تریپه VB رو نوشتیم... :lol: اما فکر کنم همین باشه... آروم آروم داریم PHP یاد میگیریم :lol: مرسي دست همه تون درد نكنه. اين پرابلم حل شد. من توي فونكشن ها تاريخ دست كاري كردم function echo_now(){ $now = now_in_hejri_Faiz($now); echo STR_PNumber("$now"); } و الان تاريخ كه درست شد و در هر جاي كه اخبار و مقالا هم مي آد اونو انداختم مثلاً به اين شكل: echo STR_PNumber("<span class="storycontent">$thetext</span><br/> "); با هم مرسي omidak 14 دي 1382, 18:38خدارو شكر موفق باشيک;)
این صفحه را در گوگل محبوب کنید
[ارسال شده از: سایت ریسک]
[مشاهده در: www.ri3k.eu]
[تعداد بازديد از اين مطلب: 4082]