مشاهده نسخه کامل
: مشکل در فارسی نوشتن در php
atiishpare
15-04-2013, 15:45
با سلام. لطفا به من بگین چیکار کنم. هیچی فرصت ندارم .باید پروژمو تحویل بدم:32::n28:
من هر چی متن فارسی بین تگ های html مینویسم (البته توی صفحه ای با پسوند php ) بصورت مربع نشون میده. <lang=fa> رو هم نوشتم قبل هر متنی ولی درست نمیشه.
ولی پیغامهایی که echo میکنم درست نشون داده میشن .
یکی منو راهنمایی کنننننننننننننننننننننننن ه . لطفا
dracula_killer
15-04-2013, 22:19
از تگ متا استفاده کن
اگه جواب نداد صفحه ی php خودت رو با notepad باز کن و save as... بزن و encode روی UTF-8 بذار
بعد متن فارسی رو تایپ کن ببین چی میشه
hamedarian2009
16-04-2013, 11:18
شما با چه برنامه ای کداتون رو مینویسین؟
شما هم باید از تگ متا در قسمت head کدهای html بدین صورت استفاده کنید:
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
و بعد با برنامه ای که کد می نویسید هم موقع سیو کردن برنامه با save as و انتخاب encoding آن به utf-8 دیگه مشکلی برای فارسی نویسی ندارین.
atiishpare
16-04-2013, 14:25
سلام .مررررسی .مشکلم حل شد. خیییلی ممنونم دوستان عزیز:n16:
eb.setareh
05-09-2013, 15:16
با سلام
من در فارسی نوشتن در php مشکل دارم و هر چقدر هم که تلاش کردم به نتیجه ای نرسیدم. در زیر کد من آمده است. ممنون می شوم اگر کمک کنید
کد html: (فارسی آن درست است)
<!DOCTYPE html>
<html>
<head>
<meta [ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]"Content-Type" content="text/html; charset=utf-8" />
<title>وبگو | صفحه ثبت نام کاربر</title>
<!-- [ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ] -->
<style type="text/css">
body{
font-family:Tahoma, Geneva, sans-serif;
direction:rtl;
font-size:12px;
}
</style>
</head>
<body>
<form action="registeration.php" method="post">
<label for="user">نام کاربری:</label>
<input name="username" id="user" type="text" maxlength="255" />
<label for="pass">کلمه عبور:</label>
<input name="password" id="pass" type="password" maxlength="255" />
<label for="mail">ایمیل کاربر:</label>
<input name="email" id="email" type="text" maxlength="255" />
<input type="submit" value="عضویت" />
</form>
</body>
</html>
این هم کد php که فارسی را نمایش نمی دهد (حالتی که خود کد php به تنهایی باشد و در داخل تگ html نباشد هم جواب گو نبود)
<!DOCTYPE html>
<html lang="fa">
<head>
<meta [ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]"Content-Type" content="text/html; charset=utf-8" />
<title>وبگو | صفحه ثبت نام کاربر</title>
<!-- [ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ] -->
<style type="text/css">
body{
font-family:Tahoma, Geneva, sans-serif;
direction:rtl;
font-size:12px;
}
</style>
</head>
<body>
<?php header('Content-Type: text/html; charset=utf-8');
//اطلاعات اتصال به پايگاه داده
$con = mysql_connect("localhost", "root", "")
or die(mysql_error());
if (!$con) {
die('Could not connect to MySQL: ' . mysql_error());
}
mysql_select_db("project", $con)
or die(mysql_error());
//mysql_query('SET NAMES utf8');
//دريافت و تعريف متغير ها
$username = $_POST['username'];
$password = $_POST['password'];
$mail=$_POST['email'];
//پيش فرض
$check_error = 0;
//بررسي معتبر بودن اطلاعات ارسالي کاربر
//نام کاربري
if (!isset($username) || $username == ''){
echo "فيلد نام کاربري نبايد خالي باشد!";
$check_error = 1;
}
//کلمه عبور
elseif (!isset($password) || $password == ''){
echo "فيلد کلمه عبور نبايد خالي باشد!";
$check_error = 1;
}
//مجاز بودن انتخاب حروف انگليسي به عنوان نام کاربري
elseif (preg_match('/^[a-zA-Z0-9 _-]+$/', $username) === 0){
echo "نام کاربري داراي کاراکترهاي غير مجاز است!";
$check_error = 1;
}
elseif(!preg_match("/[a-zA-Z0-9._-]+@[a-zA-Z0-9\.-]+\.[a-zA-Z\.]+/",$mail))
{
echo "آدرس ايمسل صحيح نمي باشد!";
$check_error = 1;
}
//جلوگيري از نفوذ به ديتابيس
$username = mysql_real_escape_string($username);
$password = md5($password);
if ($check_error != 1){
//در اين مرحله اطلاعات را در ديتابيس ذخيره خواهيم کرد
mysql_query("INSERT INTO registeration (username,password,email) VALUES('$username','$password','$mail')")
or die(mysql_error());
echo "عضويت شما با موفقيت انجام شد!<br />";
}
//پايان ارتباط با پايگاه داده
mysql_close($con);
?>
</body>
</html>
atiishpare
23-09-2013, 15:43
دوست عزیز encoding فایلتون رو utf-8 بذارید درست میشه. من تست کردم و پیغامها همه فارسی نشون داده میشن.
موفق باشید
eb.setareh
23-09-2013, 15:56
کجا باید این رو تنطیم کنم؟
hamedarian2009
23-09-2013, 18:05
شما دارین از html5 استفاده می کنید و فقط کافیه این متاتگ رو تو قسمت head صفحه استفاده کنید
برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
بعدش با هر ادیتوری هم کد می نویسید باید تنظیمات encoding اونو به utf8 تغییر بدین.موفق باشید
atiishpare
25-09-2013, 12:02
کجا باید این رو تنطیم کنم؟
توی notpade بازش کنید فایلتونو. save as بگیرید . encoding رو utf-8 انتخاب کنید.
rostamiani
17-02-2014, 13:23
من می خوام اسم فولدر ها رو که به زبان فارسی هست توی کد بنویسم. همه کار های بالا رو کردم ولی بازم نشد.
با scandir اسم ها رو می خونم ولی وقت نوشتن به جای نوشته ها �� ����� نمایش داده میشه
چه کار کنم به نظرتون ؟
اسم شاخه ها چرا درست خونده نمیشن ؟
متشکرم
hamedarian2009
17-02-2014, 14:16
با سلام تا اونجایی که من میدونم PHP قابلیت خواندن اطلاعات دایرکتوری به فرمت UTF8 و UTF16 که در ویندوز ذخیره می شن رو نداره و حداقل باید تا اومدن6 PHP منتظر بمونیم شاید این مشکلو حل کرده باشن
pouyapor
03-09-2016, 23:23
لطفا در این زمینه بیشتر توضیح بدهید، تا شما رو راهنمایی کنم
vBulletin , Copyright ©2000-2025, Jelsoft Enterprises Ltd.