PDA

نسخه کامل مشاهده نسخه کامل : چطور در php فارسی بنویسم؟



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

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

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

تو این فایل یه خط مطابق با کاراکتر ست پیش فرض وجود داره:ک
# Default charset to iso-8859-1 ([ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]).

AddDefaultCharset on

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

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

sastwhc
27-06-2006, 15:43
با سلام
و تشکر
فکر کردم اگه خوده فایل پی اچ پی رو اینجا بذارم سوالم واضح تر وقابل صحبت تره اینجا خبری از تگ اچ تی ام ال اول فایل نیست چون این فایل همین طور که میبینید یه پی اچ پی هستش که لابلاش از تگ های اچ تی ام ال واسه سر و شکل دادن به صفحه کلاینت سایدش استفاده شده اولش توضیح ها انگلیسی بود بعد خواستم فارسی باشه ولی موزیلا فونت ها رو قاطی میکنه البته گاهی حتی تو وب سایتهای فارسی یکی دو تا از کاراکتر ها که ویرگول یا نیم فاصله یا علامت سوال بشکل یه مربع با ۴ تا عدد میاد که حتما شما هم دیدید شاید چون من فقط یه فونت فارسی دارم و اونم کد پیج ش یو تی اف ۸ نیس یا لااقل یه کم فرق داره این مشکل پیش میاد ولی چرا تو مرورگر کانکورر درست دیده میشه در حالیکه من هنوز متا تگ رو اضافه نکردم؟
اگه بخوام متا تگی که دوستان گفتنو اضافه کنم کجایه این فایل باید اضافه کنم ؟ منظورم : ک
<meta [ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]"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="[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ] question.com">' .
_("linux Website </a> and ") .
'<a href="[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]">' .
_(" mamnoon </a>");
?>
</p>
</div>

<?php
}

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

hoseinquest
27-06-2006, 19:09
بالاي كد بنويس:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

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

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

ghasemy51
15-03-2014, 17:59
ببرش تو نوت پد
کل متنو کپی کن
یه نوت پد جدید باز کن
کد رو جایگزاری (paste) کن
حالا save as رو بزن
با مشخصات زیر ذخیره کن
نام :
index.php

save as type:
all file

unicode:
utf-8
حالا فایلو ببین

hamedarian2009
15-03-2014, 22:26
توی صفحه وبتون یکی از این دو کد رو بگذارین:
اگه از HTML4 استفاده میکنید:
کد HTML:

<meta [ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]"content-type" content="text/html; charset=utf-8"/>
و اگه از HTML5 استفاده میکنید:
کد HTML:

<meta charset="utf-8"/>
صفحه رو با یک ادیتور خوب مثل ++Notepad و... با کدگذاری UTF-8 without BOM ذخیره کنید.