نمايش اعداد به فارسي

faizhk

Member
يه سوالي داشتم در مورد اعداد فارسي. قبلاً يه جاي ديده بودم، اما حال نميتونم پيدايش كنم.
چگونه ميتوان (با كدام كد و يا سكرايپت) اعداد را به صورت فارسي در روي صفحه ظاهر ساخت (منظورم از 1، 2، 3 و .... ميباشد). البته كسانيكه Regional Option ويندوس شان روي Farsi باشه كه هيچ پرابلمي ندارند و به فارسي ميبيند. اما در بسياري كمپيوترهاي روي آلمان و يا انگليس ميباشه.
اما سايتهاي را ديدم كه اعداد هميشه به فارسي نشون داده ميشن. با چه ميتوان اين كارو كرد، با ستايل ها يا با چيز ديگري. سيستم مورد نظر زيادتر PHP-Nuke ميباشد.
 

faizhk

Member
saeedsmka گفت:
بهترين راه استفاده از كد يونيكده و همچنين استفاده از سيمبل
ميتونين واضحتر جواب بدين؟
من از كد يونيكد استفاده ميكنم (utf-8) منظورتان از سيمبل چيست؟ اگر منظور تان از سمبول و يا سمبل است كه اينكار امكان ندارد، چون چگونه ميتوان ساعت را با سمبل نشان داد.
 

saeedsmka

Member
اين قدرت برنامه نويسه. من هم يه مشكل همين جوري
اول جملت بايد فارسي باشه و از span استفاده كن
اگه فارسي باشه 1234
و خارجي
k1234
 

faizhk

Member
منظور تون را درست متوجه نشدم. البته كه از SPAN هم استفاده كردم و همه جملات به فارسي نشون داده ميشن و در فارسي بودن شان هيچ پرابلمي ندارم. يكي از سايتهاي كه ميخوام نشون بدم مثلاً http://web.peykeiran.com/net_world/worldnewstitle.aspx ميباشد. با وجود آنكه ميدون كه با ASP نوشته شده اما اعدادش به فارسي نشون داده ميشن، در حاليكه regional setting بنده آلماني هستيش.
 

onikzeh

Member
سلام .
هر جا خواستي عدد بنويسي از يونيكدش (منظورم عدد مربوط به شكلكش ) استفاده كن
مثلا ۱۲۳۴۵٦٧٨٩۰
 

faizhk

Member
onikzeh گفت:
سلام .
هر جا خواستي عدد بنويسي از يونيكدش (منظورم عدد مربوط به شكلكش ) استفاده كن
مثلا ۱۲۳۴۵٦٧٨٩۰
منظورت را درست متوجه نشدم، چه جوري مربوط به شكلكش؟ و با در قسمت تاريخ كه خودش ظاهر ميشه چه جوري بايد كرد؟
 

omidak

Active Member
سلام:
اين كه سادس...:
UniCode هایه بین:
0660 تا 0669
اعداد عربی هستن . که مال ما هم همونه :wink:
 

faizhk

Member
omidak گفت:
سلام:
اين كه سادس...:
UniCode هایه بین:
0660 تا 0669
اعداد عربی هستن . که مال ما هم همونه :wink:
اما در قسمت تاريخ نگفتي كه چطور ميشه. اون كه خودش بالا مي آد و چه جوري اعدادش فارسي باشه؟
 

omidak

Active Member
سلام:
خوب اين هم سادس كه ...
ميتوني از كد Replace استفاده کنی :lol:
اعداد رو به اون UniCode ها Replace کن :wink:
 

omidak

Active Member
سلام:
خوب كد Replace که دیگه خیلی تابلوه :roll:
کد:
tmpStr=Replace(tmpStr,"1",chrw("0661")
 

faizhk

Member
omidak گفت:
سلام:
خوب كد Replace که دیگه خیلی تابلوه :roll:
کد:
tmpStr=Replace(tmpStr,"1",chrw("0661")
اول اينكه يك جهان سپاس.
من اينجوري نوشتم:
کد:
<?
$tmpStr=1234;
$faiz_now = str_replace ($tmpStr, "3", chr ("0661"));
echo "$faiz_now";
?>
اما در بيروني علامت ؟ را نشون ميده، و اگر encoding رو عربي بسازم صفر عربي نشون ميده. كجاش اشتباه است؟
 

omidak

Active Member
کد:
<?
$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

Member
پس اوني كه تو نوشتي چيست؟ مال من كه معلومه PHP هستش.
3 را با 0663 انجام دادم اين علامت — رو نشون ميده.
 

omidak

Active Member
faizhk گفت:
3 را با 0663 انجام دادم اين علامت — رو نشون ميده.
پس لابد کد Chr در PHP از UniCode Support نمیشه...
اما 1 امتحان هم بکن: :wink:
از UniCode هایه 06F0 تا 06F9 استفاده کن...
اینها هم همون اعداد هستند :wink:
 

amirnezhad

Member
سلام
اين يه تابع ساده توي 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

Member
amirnezhad گفت:
سلام
اين يه تابع ساده توي 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

Member
omidak گفت:
faizhk گفت:
3 را با 0663 انجام دادم اين علامت — رو نشون ميده.
پس لابد کد Chr در PHP از UniCode Support نمیشه...
اما 1 امتحان هم بکن: :wink:
از UniCode هایه 06F0 تا 06F9 استفاده کن...
اینها هم همون اعداد هستند :wink:
با اينها هم اين كارو نكردم، ولي نتيجه نداد.
بالاخره با همه اينها:
کد:
   0x0020, 0x0021, 0x061B, 0x066B, 0x00A4, 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, 0x00D7, 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

Active Member
چه شير تو شير شد :lol:
ببين همون كدهايي كه دستمون فرستاد . درسته... چون ufo8 نبود همچین شد... و خودت گفتی درستشون کردی دیگه :wink:
اما برایه تاریخ هم خوب از همون استفاده کن:
کد:
STR_PNumber(echo_now())
ما که تریپه VB رو نوشتیم... :lol: اما فکر کنم همین باشه...
آروم آروم داریم PHP یاد میگیریم :lol:
 

جدیدترین ارسال ها

بالا