چطور در php فارسی بنویسم؟ [آرشيو] - P30World Forums

PDA

View Full Version : چطور در php فارسی بنویسم؟


sastwhc
06-26-2006, 03:50 PM
با عرض سلام خدمت دوستان

مشكل:
بايد تويه يه استرينگ فارسي نوشته شه
<?(" inja bayad farsi bashe ")_=?>
وقتي فارسي مينويسم تو موزيلا و بقيه مرورگر ها بشكل حروف عجبيب غريب نشون داده ميشه، اين مرورگر ها به راحتي فارسي رو روي وب- منظورم اينترنت- نشون ميدن.
پلتفرم مورد استفاده:
پنتيوم چهار با هارد80 و رم256
سيستم عامل: دبين سارجه 3.1كه با استفاده از فري فونت فارسي و لايه كيبرد مناسب فارسي شده
مرورگر:معمولا موزيلا
امكان فاسي نويسي در اپن آفيس ،آبي ورد
نتايج جستجوي راه حل: ويرايش httpd.confكه يا من بلد نيستم يا تغيير شامل زبان سينتكس درستي نداره
و : خوب نميدونم كجايه پي اچ پي ميشه utf-8 تعريف كرد

<? Php
Function()
{
…..
<?=_("……")?>
}
و وقتی بیشتر دقت کردم با تنظیم کانکورر به یو تی اف ۸ صفحه بدرستی دیده میشود.ظاهرا مشکل در موزیلا بروز میکنه که با تغییر به یو تی اف ۸ درست نمیشه.البته من فقط یه فونت رایگان فارسی نصب کردم و مثلا از تاهوما استفاده نکردم.
در هر حال وقتی به فایل
httpd.conf
میرسم چند تا فایل با این اسم در مسیر های مختلف وجود دارن و در خطی که باید کاراکتر ست رو تعریف کنم نوشته: ک
File Path:/usr/share/defualt-configs/apache:

تو این فایل یه خط مطابق با کاراکتر ست پیش فرض وجود داره:ک
# Default charset to iso-8859-1 (http://www.apache.org/info/css-security/).

AddDefaultCharset on

خط اول فکر کنم چون بعد از علامت پوند اومده تغییرش فایده نداره و در خط دوم کاراکتر ست پیش فرض فعال شده ولی نوعش تو این خط مشخص نشده.در مورد اضافه کردن متا تگ در اچ تی ام ال میدونم کجا اضافه کنم یعنی بعد از تگ اچ تی ام ال اول فایل اچ تی ام ال « ولی وقتی فایل پی اچ پی هست فقط لابلای پی اچ پی از تگ اچ تی ام ال استفاده میشه اصلا جایه درسته متا تگ ها رو نمیدونم.
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />

hoseinquest
06-26-2006, 04:15 PM
سلام. متاتگ در بين تگ هاي head قرار ميگيره.
<head>
<meta.........
</head>
در ضمن كارت با متاتگ درست ميشه.

sastwhc
06-27-2006, 04:43 PM
با سلام
و تشکر
فکر کردم اگه خوده فایل پی اچ پی رو اینجا بذارم سوالم واضح تر وقابل صحبت تره اینجا خبری از تگ اچ تی ام ال اول فایل نیست چون این فایل همین طور که میبینید یه پی اچ پی هستش که لابلاش از تگ های اچ تی ام ال واسه سر و شکل دادن به صفحه کلاینت سایدش استفاده شده اولش توضیح ها انگلیسی بود بعد خواستم فارسی باشه ولی موزیلا فونت ها رو قاطی میکنه البته گاهی حتی تو وب سایتهای فارسی یکی دو تا از کاراکتر ها که ویرگول یا نیم فاصله یا علامت سوال بشکل یه مربع با ۴ تا عدد میاد که حتما شما هم دیدید شاید چون من فقط یه فونت فارسی دارم و اونم کد پیج ش یو تی اف ۸ نیس یا لااقل یه کم فرق داره این مشکل پیش میاد ولی چرا تو مرورگر کانکورر درست دیده میشه در حالیکه من هنوز متا تگ رو اضافه نکردم؟
اگه بخوام متا تگی که دوستان گفتنو اضافه کنم کجایه این فایل باید اضافه کنم ؟ منظورم : ک
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
در پایین فایل پی اچ پی رو کم میخوام توضیحاش فارسی باشه رو کامل اوردم:ک
<?PHP

function shn_home_default()
{ ?>


<div id="home">


<?=_("<h2>فاسی</h2>")?>

<!-- یه توضیح -->
<p><?=_("فارسی:")?></p>
<ul>
<li><b><?=_("ثبت</b> <br/>کمک")?> </li>
<li><b><?=_("yeh jomleh inja</b> <br/>khosh oomadid")?> </li>
<li><b><?=_("دیگه چه خبر</b> <br/>Thnx All")?> </li>
<li><b><?=_("what?</b><br/>فارسی")?> </li>
</ul>
<p>
<?php
print _("فارسی ") .
'<a href="http://www.linux question.com">' .
_("linux Website </a> and ") .
'<a href="http://www.linux.org">' .
_(" mamnoon </a>");
?>
</p>
</div>

<?php
}

?>
از توجه همه دوستان واساتید عزیز ممنونم.ک

hoseinquest
06-27-2006, 08:09 PM
بالاي كد بنويس:
!!!! برای مشاهده محتوا ، لطفا ثبت نام کنید / وارد شوید !!!!

sastwhc
07-20-2006, 10:29 AM
اقا تشكر
يه مشكلي داره بازم موزيلا غلط نشون ميده يعنيكاراكتر ها را مربع مربع نشون ميده encoding هم كه يه utf8 تغيير دادم افاقه نكرد. شايد سيستم عامل بهم ريخته اگه صلاح بدونيد دوباره نصب كنم.
با تشكر

aminkarami
07-20-2006, 10:44 AM
سلام ببین دوست عزیز برای فارسی نویسی در php با utf-8 باید با برنامه های خاصی کد رو بنویسی که یکی از آنها Zendphpstudio است که به طور کامل php رو با utf-8 ساپورت می کنه و اما اینم کدی که برای تبدیل unicode در مرورگر firefox این کد مطمئنا کار میکنه چون خودم با این utf-8 رو کار می کنم.
<؟php
header("Content-type: text/html; charset=UTF-8");
?>