PDA

View Full Version : سوال: مشکل در insert کردن رکورد فارسی



iradata
جمعه 12 خرداد 1391, 01:39 صبح
سلام

http://www.pic1.iran-forum.ir/images/up5/01406970381320219834.jpg

مشکل من این هست که وقتی که از طریق برنامه خودم می خواهم یک رکورد روو به صورت فارسی وارد کنم آن به درستی اضافه نمیشود و به صورت ناخوانا میشوند !!!!!!!!

اما وقتی از طریق phpmyadmin اضافه میکنم به هیچ مشکلی بر نمیخودم !!!!!!!!!

همونطور که در تصویر هم می بینید من آخرین رکورد روو از طریق دستورات php که خودم نوشته ام وارد کردم

و فیلدهای فارسی اول روو از طریق phpmyadmin وارد کردم

البته از طریق کدهای خودم هیچ مشکلی با زبان انگلیسی وجود ندارد و داده ها به درستی اضافه میشوند .

من کدهای خودم روو هم قرار دادم :




<head><meta http-equiv="Content-Type" content="text/html"; charset="utf-8"></meta></head>
<form action="" method="post" dir="rtl">
<table border="0" cellspacing="4">
<tr><td><label for="CatFa" >دسته بندی فارسی :</label></td><td colspan="2"><input type="text" width="100%" maxlength="50" name="CatFa" /></td></tr>
<tr><td><label for="CatEn" >دسته بندی انگلیسی :</label></td><td colspan="2"><input type="text" width="100%" maxlength="50" name="CatEn" /></td></tr>
<tr><td><label for="NodeT">زیر منو :</label></td>
<td><label for="Node"></label>
<select name="Node" id="Node">
<option value="--------">-------</option>
<option value="دارد">دارد</option>
<option value="ندارد">ندارد</option>
</select></td>
<tr><td colspan="2"><input type="submit" name="subSend" value="ذخیره" /></td>
</tr>
</table>
</form>
<?php
if(isset($_POST['subSend']))
{
$CatFa = $_POST['CatFa'];
$CatEn = $_POST['CatEn'];
$Node = $_POST['Node'];
include '../Config/configDB.php';
$con = mysql_connect($ServerDB,$UserNameDB,$PasswordDB);
if (!$con)
{
echo 'Could not connect';
}
else
{
mysql_select_db("afra_B2B",$con);
mysql_query("INSERT INTO cat (CatFa, CatEn, Node) VALUES ('$CatFa', '$CatEn', '$Node')");
mysql_close($con);
}
}
?>

mohsen6500
جمعه 12 خرداد 1391, 02:41 صبح
سلام دوست عزیز
بعد از اتصال به دیتا بیس از این کد استفاده کن به این ترتیب:

mysql_select_db("afra_B2B",$con);
mysql_query("SET NAMES 'utf8'");
البته باید دیتا بیس رو با فرمت persian ساخته باشی

djsaeedkhan
جمعه 12 خرداد 1391, 10:52 صبح
سلام
یه نگته رو هم بگم وقتی شما توسط فرم اطلاعات رو در دیتابیس ذخیره می کنی در دیتابیست حروفش خرچنگ قورباقه میاد. ولی اگر مستقیم در دیتابیس ذخیره کنی و بخوای با php نمایش بدی اونوقت تو فرم ت اطلاعات خرچنگ قورباقه میاد.

MMSHFE
جمعه 12 خرداد 1391, 11:00 صبح
نه الزاماً همیشه اینطور نیست. توی phpMyAdmin گزینه Collation که در صفحه Home از شما میپرسه واسه همینه که بهش بگین از چه کدگذاری برای تبادل اطلاعات بطور پیشفرض با MySQL استفاده کنه که اگه دقت کنید روی utf8_general_ci تنظیم شده. بنابراین اگه موقع اتصال به دیتابیس توسط کد برنامه (چه موقع خوندن و چه موقع نوشتن) از کدگذاری های سری utf8 استفاده کنید، هم توی صفحه اطلاعات رو درست میبینید و هم توی phpMyAdmin
موفق باشید.

iradata
جمعه 12 خرداد 1391, 13:50 عصر
http://www.pic1.iran-forum.ir/images/up5/43924480966685057407.jpg

خوب من این کار روو از اول انجام داده بوده ام !!!!!!!!!!!!