PDA

View Full Version : مشکل در کاراکترهای فارسی در HTML



metal gear solid 4
چهارشنبه 26 آبان 1389, 15:14 عصر
سلام
من با کاراکترهای فارسی توی فرم های HTML خودم مشکل دارم

من از یک هدر و یک فوتر استفاده میکنم
مثلاً
این واسه بخش هدر سایت در یک فایل جدا:


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<link rel="stylesheet" type="text/css" href="inc/global.css" />
<meta content="fa" http-equiv="Content-Language" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title></title>
</head>

<body>

هنگام ایجاد یک فایل جدید با دستور Require که فایل ها رو توی برنامه میارم هنگامی که فرم های HTML رو توی PHP وارد میکنم مثلاً فرم های ثبت نام و این جور چیزا؛ با دستور Print به جای کاراکترهای فارسی علامت سوال یا کاراکترهای دیگه میاد.
فایل های PHP خودشون تگ هد ندارن که تنظیم کنم از تگ هد فایل هدر هم نمیتونه تشخیص بده ....

این هم بخش فوتر در یک فایل جدا:


</body>
</html>چکار کنم که این مشکل رو نداشته باشم!؟

binyaft
چهارشنبه 26 آبان 1389, 15:52 عصر
انکدینگ خود صفحه روی utf-8 هست؟

funpatogh
چهارشنبه 26 آبان 1389, 15:53 عصر
آیا فایل هاتون رو utf8 ذخیره میکنید؟

alonemm
چهارشنبه 26 آبان 1389, 20:54 عصر
اين كد رو در اول صفحه هاتون اضافه كنيد:


<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

metal gear solid 4
پنج شنبه 27 آبان 1389, 10:53 صبح
ازتون ممنون که جواب دادید:

من کد رو دادم بالا که
آره نگاه کنید هدر صفحه انکدینگ رو به utf-8 تغییر میده. ولی باز هم کلمات فارسی درست چاپ نمیشن.
خود فایل هدر درسته.
فایل های PHP هم فقط تگ PHP دارن و بخش هدر ندارند. من اول کدهای فایلهای PHP، فایل هدر رو Include میکنم. اینکلود هم میشه اما کاراکترهای فارسی رو فارسی نمیکنه.

binyaft
پنج شنبه 27 آبان 1389, 11:06 صبح
شما باید از طریق ویرایشگر خودتون انکودینگ فایل رو به utf-8 تغییر بدید

@AM!R!
پنج شنبه 27 آبان 1389, 11:07 صبح
کلماتی که درست نمایش داده نمیشن از بانک میان؟

xoogle.ir
پنج شنبه 27 آبان 1389, 11:11 صبح
اگر مطالبی که درست چاپ نمیشن از دیتابیس میان مشکل ممکنه از نوع کانکشن شما با دیتابیس باشه
این کد رو بعد از تابع mysql_connect قرار بدید :



mysql_query("SET NAMES 'utf8'", $link);

metal gear solid 4
پنج شنبه 27 آبان 1389, 11:29 صبح
نه اطلاعات از دیتابیس نمیاد.
فرض کنید من 3 تا فایل دارم.
1- هدر سایت
2- بخش Body
3- فوتر سایت

این هدر سایت:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<link rel="stylesheet" type="text/css" href="inc/global.css" />
<meta content="fa" http-equiv="Content-Language" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title></title>
</head>

<body>این فوتر سایت:

</body>
</html>

این هم قسمت نمایش یک جدول ساده از طریق دستورات PHP


<?
include("Header.php");

print " <table>
<tr>
<td> این یک تست است</td>
<td></td>
</tr>
<tr>
<td></td>
<td></td>
</tr>
</table>";

include("Footer.php");

?>
اما خروجی به این صورته که توی جدول به جای جمله ی " این یک تست است " علامت سوال نمایش میده.

metal gear solid 4
پنج شنبه 27 آبان 1389, 11:38 صبح
مشکلم حل شد. دم همتون گرم. :D
مشکل همون بود که جناب آقای binyaft گفتن. باید انکدینگ خود فایل رو از طریق ویرایشگر به utf-8 تغییر میدادم.