View Full Version : نحوه ذخیره داده فارسی و پیغام فارسی
job_job
دوشنبه 01 دی 1393, 15:01 عصر
سلام . من از کد زیر برای درج استفاده کردم ولی وقتی درج انجام میشه یه warning بهم میده .
<?php
$con=mysqli_connect("localhost","dadashi","125050","dbdadashi");
// Check connection
if (mysqli_connect_errno())
{
echo "امکان برقراری با دیتابیس وجود ندارد " . mysqli_connect_error();
}
$sql="INSERT INTO contact(Name,email,subject,message)
VALUES('$_POST[Name]','$_POST[email]','$_POST[Subject]','$_POST[message]')";
if (!mysqli_query($con,$sql))
{
die('خطا در پایگاه داده رخ داده است ' . mysqli_error($con));
}
echo "اطلاعات با موفقیت ذخیره شد";
mysqli_close($con);
?>
2- متن هایی که به صورت فارسی نوشتم برای خطا ها در هنگام نمایش بهم ریخته نشون میده و اصلا فارسی هم نیست چکار کنم درست بشه ؟
H:Shojaei
دوشنبه 01 دی 1393, 15:17 عصر
سوال اول: چه warning ای میده؟
2:این کد رو تو <head> کدهای html بذارید:
<meta charset="UTF-8">
<meta http-equiv="content-type" content="text/html; charset=utf-8"/>
اگر درست نشد باید صفحه رو با کد گذاری utf-8 without bom ذخیره کنید (با notepad++ یا هر ادیتوری که بشه توش انکودینگ صفحه رو مشخص کرد)
job_job
دوشنبه 01 دی 1393, 15:21 عصر
نمایش فارسی پیغام درست شد . الان چکار کنم که داده فارسی هم تو دیتابیس به درستی ذخیره بشه ؟
از کد زیر برای mysql استفاده کردم ؟
$sql="INSERT INTO contact(Name,email,subject,message)
VALUES('$_POST[Name]','$_POST[email]','$_POST[Subject]','$_POST[message]')";
if (!mysqli_query($con,$sql))
{
die('خطا در پایگاه داده رخ داده است ' . mysqli_error($con));
}
H:Shojaei
دوشنبه 01 دی 1393, 15:37 عصر
بخش کد های اتصال به mysqli این رو هم اضافه کنید:
mysqli_set_charset('utf8'(
job_job
دوشنبه 01 دی 1393, 15:45 عصر
دقیقا باید به کجای کد زیر اضافه اش کنم ؟ ممنون میشم بهم بگید . کل کد من در زیر قرار میدم .
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<?php
$con=mysqli_connect("localhost","dadashi","125050","dbdadashi");
// Check connection
if (mysqli_connect_errno())
{
echo "امکان برقراری با دیتابیس وجود ندارد " . mysqli_connect_error();
}
$sql="INSERT INTO contact(Name,email,subject,message)
VALUES('$_POST[Name]','$_POST[email]','$_POST[Subject]','$_POST[message]')";
if (!mysqli_query($con,$sql))
{
die('خطا در پایگاه داده رخ داده است ' . mysqli_error($con));
}
echo "اطلاعات با موفقیت ذخیره شد";
mysqli_close($con);
?>
H:Shojaei
دوشنبه 01 دی 1393, 15:53 عصر
بعد از mysqli_connect:
mysqli_set_charset($con, "utf8")
job_job
چهارشنبه 03 دی 1393, 19:26 عصر
سلام .کاری رو که شما گفتین انجام دادم ولی بازم تو دیتابیس به صورت علامت سوال ذخیره میشه . لطفا راهنمایی کنید . آیا مربوط به تنظیمات دیتابیس نیست؟
الان کد من به صورت زیر هستش:
$con=mysqli_connect("localhost","dadashi","125050","dbdadashi");
mysqli_set_charset($con, "utf8");
vBulletin® v4.2.5, Copyright ©2000-1403, Jelsoft Enterprises Ltd.