PDA

View Full Version : مبتدی: مشکل در واکشی رکوردهای فارسی توسط php



hosein_ras
پنج شنبه 10 مرداد 1392, 21:24 عصر
سلام
قبل از هر چیز می دونم سوالم شاید تکراری باشه اما با خواندن مطالب انجمن نتونستم به جوابم برسم
با اجرای فایل php علامت سوال روی صفحه ظاهر میشه
دیتابیسم collaps utf-8 perisan هست
کد فایل php هم اینه:

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<?php
$con=mysqli_connect("localhost","data","pass","database");
mysqli_query('SET NAMES \'utf8\'');
// Check connection
if (mysqli_connect_errno())
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
$result = mysqli_query($con,"SELECT * FROM ads");
//mysqli_query("SET CHARACTER SET utf8 ");
mysqli_query("SET NAMES 'utf8'");
//mysqli_query('SET NAMES \'utf8\'');
//mysqli_set_charset('utf8');
while($row = mysqli_fetch_array($result))
{
echo $row['name'] . " " . $row['mobile'];
echo "تست";
echo "<br>";
}

mysqli_close($con);


?>


خواهش می کنم دوستان راهنمایی کنند
سه روزه منو درگیر خودش کرده

H:Shojaei
پنج شنبه 10 مرداد 1392, 21:31 عصر
سلام
علاوه بر همه ي اين كارها صفحه رو بايد با utf-8 ذخيره كنيد.
تو هر نرم افزاري كه كد بزنيد يه همچين تنظيماتي بايد داشته باشه.
البته اگر فقط تو واكشي مشكل داره نميدونم ولي اگر همه ي اطلاعات فارسيتون اين مشكل رو داره از اين روش بايد بريد.

hosein_ras
پنج شنبه 10 مرداد 1392, 21:37 عصر
سلام
علاوه بر همه ي اين كارها صفحه رو بايد با utf-8 ذخيره كنيد.
تو هر نرم افزاري كه كد بزنيد يه همچين تنظيماتي بايد داشته باشه.
البته اگر فقط تو واكشي مشكل داره نميدونم ولي اگر همه ي اطلاعات فارسيتون اين مشكل رو داره از اين روش بايد بريد.
کل کد من همینه:لبخندساده:
من این کد ها رو تو ادیتور cpanel تایپ کردم و پسوندش رو .php کردم. لازمه فایل ها رو به نرم افزار دیگه ای انتقال بدم؟

parsboy
پنج شنبه 10 مرداد 1392, 21:47 عصر
باسلام
http://barnamenevis.org/showthread.php?356992-%D9%BE%D8%B1%D8%B3%D8%B4%D9%87%D8%A7%DB%8C-%D8%AA%DA%A9%D8%B1%D8%A7%D8%B1%DB%8C&p=1576424&viewfull=1#post1576424

H:Shojaei
پنج شنبه 10 مرداد 1392, 21:56 عصر
تو چي كد ميزنيد ببينيد مثلا من خودم وقتي به اين مشكل بر ميخورم ميدونم بايد اينجا اين رو ست كنم كه تو نرم افزاره و كاملا هم درست ميشه اگر هيچ كدوم از اونايي رو هم كه شما انجام دادين من انجام ندم باز هم مشكلي ندارم:
108327

aliphp1
پنج شنبه 10 مرداد 1392, 21:59 عصر
با سلام دوست عزیز شما اول صفحه ای که اطلاعات رو میریزی توی دیتابیس و همچنین صفحه ای که اطلاعات رو از دتابیس میگیری این کد رو اضافه کن مشکلت حل میشه
فقط دقت کن توی هر دو صفحه باشه
mysql_query("SET NAMES 'utf8'");
mysql_query("SET CHARACTER SET utf8");
mysql_query("SET SESSION collation_connection = 'utf8_persian_ci'");

MRmoon
پنج شنبه 10 مرداد 1392, 22:56 عصر
با سلام دوست عزیز شما اول صفحه ای که اطلاعات رو میریزی توی دیتابیس و همچنین صفحه ای که اطلاعات رو از دتابیس میگیری این کد رو اضافه کن مشکلت حل میشه
فقط دقت کن توی هر دو صفحه باشه
mysql_query("SET NAMES 'utf8'");
mysql_query("SET CHARACTER SET utf8");
mysql_query("SET SESSION collation_connection = 'utf8_persian_ci'");

قابل توجه شما دوست عزيز ايشون از mysqli استفاده كرده اند!

hosein_ras
جمعه 11 مرداد 1392, 01:00 صبح
تو چي كد ميزنيد ببينيد مثلا من خودم وقتي به اين مشكل بر ميخورم ميدونم بايد اينجا اين رو ست كنم كه تو نرم افزاره و كاملا هم درست ميشه اگر هيچ كدوم از اونايي رو هم كه شما انجام دادين من انجام ندم باز هم مشكلي ندارم:
108327
ممنون
من تو محیط سی پنل کد رو زدم
یعنی new fileرو زدم وبعدش یک فایل با پسوند php. ایجاد کردم و اینا رو توش تایپ کردم
واسه اجرا هم url فایل رو تو مرورگر زدم
لازمه کار دیگری انجام بدم؟

hosein_ras
جمعه 11 مرداد 1392, 01:03 صبح
با سلام دوست عزیز شما اول صفحه ای که اطلاعات رو میریزی توی دیتابیس و همچنین صفحه ای که اطلاعات رو از دتابیس میگیری این کد رو اضافه کن مشکلت حل میشه
فقط دقت کن توی هر دو صفحه باشه
mysql_query("SET NAMES 'utf8'");
mysql_query("SET CHARACTER SET utf8");
mysql_query("SET SESSION collation_connection = 'utf8_persian_ci'");
اینا رو قبلا هم امتحان کردم اما جواب نداد
ضمن اینکه من همه اطلاعات رو خودم از phpmyadmin ایمپورت کردم و از طریق این فایل فقط واکشی می کنم

webtracker
جمعه 11 مرداد 1392, 01:13 صبح
یعنی هنوز مشکل دارین؟

hosein_ras
جمعه 11 مرداد 1392, 01:17 صبح
یعنی هنوز مشکل دارین؟
بله هنوز اطلاعات به صورت ؟؟؟؟؟؟؟؟ اکو میشن

webtracker
جمعه 11 مرداد 1392, 01:34 صبح
شاید این بتونه کمک کنه

108333

H:Shojaei
جمعه 11 مرداد 1392, 01:43 صبح
ممنون
من تو محیط سی پنل کد رو زدم
یعنی new fileرو زدم وبعدش یک فایل با پسوند php. ایجاد کردم و اینا رو توش تایپ کردم
واسه اجرا هم url فایل رو تو مرورگر زدم
لازمه کار دیگری انجام بدم؟
بايد بگردين ديگه راستش من تو اين محيط كد نزدم كه بدونم يه چيزي تو همون مايه هاييه كه گذاشتم جوينده يابندس بگردين پيدا ميشه.

hosein_ras
جمعه 11 مرداد 1392, 12:23 عصر
شاید این بتونه کمک کنه

108333

ممنونم
این تگ ها رو اضافه کردم اما فرقی نکرد:متفکر:

aliphp1
جمعه 11 مرداد 1392, 13:14 عصر
چون از داخل پی اچ پی مای ادمین وارد کردین اینطوری شده

webtracker
جمعه 11 مرداد 1392, 13:49 عصر
حتی اون اکو که نوشتین تست هم نشون داده نشد.

hosein_ras
شنبه 12 مرداد 1392, 00:13 صبح
حتی اون اکو که نوشتین تست هم نشون داده نشد.
تست رو نشون میده اما اطلاعات دیتابیس رو به صورت علامت سوال نشون میده

MMSHFE
شنبه 12 مرداد 1392, 08:51 صبح
کدگذاری دیتابیس، جداول و فیلدها هم باید utf8_bin یا utf8_persian_ci باشه. ضمناً کوئری 'SET NAMES 'utf8 باید قبل از هر کوئری SELECT یا INSERT دیگه انجام بشه.

hosein_ras
شنبه 12 مرداد 1392, 21:11 عصر
کدگذاری دیتابیس، جداول و فیلدها هم باید utf8_bin یا utf8_persian_ci باشه. ضمناً کوئری 'SET NAMES 'utf8 باید قبل از هر کوئری SELECT یا INSERT دیگه انجام بشه.

ممنون اینکارا رو انجام دادم

MMSHFE
یک شنبه 13 مرداد 1392, 08:25 صبح
تجربه بهم ثابت کرده 99٪ کسانی که میگن همه این کارها رو انجام دادیم، وقتی از نزدیک شرایط رو بررسی میکنیم، میبینیم که یک جای کار رو درست انجام ندادن. اگه ممکنه اطلاعات RemoteConnection به سیستم خودتون رو ازطریق TeamViewer (شناسه و رمز) برام پیام خصوصی کنید تا ازطریق سیستم خودتون، مشکل رو برطرف کنم و ببینید مشکل از کجاست.