PDA

View Full Version : مشکل با utf8



lordsina
چهارشنبه 08 آبان 1387, 12:49 عصر
دوستان من يه فرم دارم که ميخوام يه سری اطلاعات فارسی و به database بفرسته..اين کار به خوبی انجام ميشه
من enconing صفحه رو uft-8 گزاشتم و فيلد های db رو هم رو utf8 و مشکلی نيست..ولی يه مشکل خيلی عجيب دارم
متن های فارسی که من تو فرمم دارم مثلاً عناوين ، درست نشون داده نميشن و مربع مربع هستند.اگه encoding صفحه رو arabic
کنم درست ميشن ولی از اونور اطلاعات فرم درست تو db وارد نميشه..به نظرتون مشکل از کجاست..اينم متن برنامه

<!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>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled 1</title>
</head>

<body>
<div style="margin-right:10px">
<div class="style4" lang="fa">
.لطفاً متن مورد نظر خود در صفحه اول را به همراه تاريخ وارد کنيد
</div>
<form method="post" action="<?php $_SERVER['PHP_SELF']?>" dir="rtl" enctype="multipart/form-data" target="_self">
<label id="Label1"><span class="style3"><strong>تاريخ :</strong></span><span class="style2">&nbsp;</span><span class="style1"> </span></label>
<input name="tarikh" type="text" /><br />
<br />
<span class="style3"><strong>متن : </strong>
</span>
<span class="style1"> <br />
</span><br/>
<textarea name="matn" style="height: 203px; width: 379px"></textarea><br />
<br />
<input name="submit" type="submit" value="ثبت مطلب" style="width: 87px; font-family:Tahoma;font-size:small;font-weight:bold" /></form>
</div>
</body>

</html>
<?php
if (isset($_POST['submit'])){
$conn = @mysql_connect('localhost', 'root', '') or die(mysql_error());
mysql_query("SET CHARACTER SET 'utf8'");
mysql_query("SET names 'utf8'");
mysql_select_db('dbfars');
$tarikh=$_POST['tarikh'];
$matn=$_POST['matn'];

$send="INSERT INTO tblaval (tarikh, matn) VALUES ('$tarikh','$matn')";
if(mysql_query($send)){
echo "your post successfully sent";
}else{
echo "There is a probem in sending your post , please try again";
}
}


?>

ravandi
چهارشنبه 08 آبان 1387, 15:03 عصر
سلام
سرورت چیه؟من apachi دارم و با همین مشکل مواجه شدم چند بار هم که تایپیک گذاشتم کسی جواب نداد؟؟؟شاید با سرور مشکل داره؟

yaqubian
چهارشنبه 08 آبان 1387, 17:08 عصر
دوست عزیز
خود صفحه رو با فرمت encoding ذخیره کن. مثلا با VSPHP یا notepad موقع ذخیره کردن option ذخیره رو بذار unicode.
موفق باشید

narsic
چهارشنبه 08 آبان 1387, 20:54 عصر
با notpad فایلتون رو باز کنید گزینه save as رو انتخاب کنید از منوی کشویی سوم utf-8 رو انتخاب کنید
موفق باشی یه جستجوی کوچولو جواب سریع تری داشت

ravandi
پنج شنبه 09 آبان 1387, 09:38 صبح
سلام
ممنون از راهنمایی.ولی من همه کارهایی که شما فرموده بودید را انجام دادم ولی نتیجه=0.وقتی در حالتUTF8 قرار می دم تمامی SESSIONهام از کار می افتن.ولی این نکته قابل توجه که روی host درست جواب میده ولی روی my pc نه.حال به نظر شما چه کنم؟؟؟؟

man4toman
پنج شنبه 09 آبان 1387, 10:53 صبح
اگه سشن دارید با نت پد ذخیره نکنین چون کاراکتر اضافی در اول فایل ایجاد میکنه.
از ادیتورهای استاندارد مثل notpad++ یا emeditor استفاده کنید.

yaqubian
پنج شنبه 09 آبان 1387, 10:55 صبح
دوست عزیز
همینطور که دوستمون گفتن notepad کاراکترهای اضافی تولید می کنه!
بهترین ادیتور واسه این کار شما فکر کنم همون notepad++ یا VS PHP هست.
موفق باشید