ورود

View Full Version : سوال: چگونگي تبديل به utf8



farkhondeh
یک شنبه 20 دی 1388, 14:28 عصر
سلام

به من ديتا بيسي داده شده كه محتواي آن فارسيه.وقتي phpmyadmin را باز مي كنم..محتوا قابل خواندن نيست و كاملا بهم ريخته.مي خوام اين ديتا بيس قابل خوندن بشه.براي اين منظور كد زير را نوشتم:


<html xmlns="http://www.w3.org/1999/xhtml">

<head>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
<title>Untitled 1</title>
</head>
<body>

<?php
$link = mysql_connect('localhost', 'root', '');
if (!$link) {
die('Could not connect: ' . mysql_error());
}

$con = mysql_connect("localhost","root","");

if (!$con)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db("mydata", $con);
mysql_select_db("me2", $link);

for($i=2265; $i<=2266; $i++)
{
$result = mysql_query("SELECT * FROM mydata.mavara_pages WHERE page_id= '$i'");
while($row = mysql_fetch_array($result))
{
mysql_set_charset('utf8',$link);
echo $row['pageName'];
echo '<br>';
$sql="INSERT INTO me2.pages(page_id,pageName)SELECT page_id,pageName FROM mydata.mavara_pages WHERE page_id= '$i'";

}

mysql_query($sql,$link);

}
mysql_close($con);
// mysql_close($link);
?>
</body>
</html>

كه در اين كد داده ها را از ديتابيس مي خونم تبديل به utf8 مي كنم و بعد در ديتابيس ديگري ذخيره مي كنم.اما بازهم اين ديتا بيس درست نشد.
نمي دونم چيكار كنم.لطفا راهنماييم كنيد.
با تشكر

mostafa8266
پنج شنبه 22 بهمن 1388, 09:54 صبح
از این دوتا دستور باهم استفاده کن

mysql_query("set names 'utf8'",$connection);
mysql_query("set char set utf8",$connection);
اگه فایده نداشت و میخوای دیتا رو درست ببینی یه کد بنویس که اون رو تو مرورگر نمایش بده

hamzeh4u
جمعه 23 بهمن 1388, 06:04 صبح
سلام
مگه میخوای چکار کنی که لازمه تو مدیریت دیتابیس فارسی ببینی!!!!
اگه صفحه جست و جو ساختیو جستجوی فارسی میخوای بکنی راه حلش سادست
اینهمه دنگ و فنگ نداره
3 چیز مهمه این سه چیز رو جایی نمیتونی پیدا کنی من خودم مشکل فارسی داشتم
1- موقع ساختن دیتابیس utf8_persian_ci <=Collation
2- فیلد مورد نظر هم مثل بالایی مثلا type:varchar و
utf8_persian_ci <=Collation
اینا رو که همه تنظیم میکنن.
8 ساعت تو اینترنت گشتم آخر نتونستم
بعد یِ ی هویی دریچه هایی باز شد !!!! فهمیدم
و 3 که از همه مهمتره اینه که متد فرمت حتما باید post باشه!!!!! اگه get باشه چون تو آدرس بار تبدیل میشه
پیدا نمی کنه همین

hamzeh4u
جمعه 23 بهمن 1388, 06:07 صبح
اگه نشد بگو یه نمونه بفرستم

funpatogh
پنج شنبه 06 اسفند 1388, 23:15 عصر
توی دیتابیس اگه میخوای فارسی ببینی باید character set جدول ها رو utf-8 و COllation رو utf8-persian-ci کنی

funpatogh
پنج شنبه 06 اسفند 1388, 23:16 عصر
سلام
مگه میخوای چکار کنی که لازمه تو مدیریت دیتابیس فارسی ببینی!!!!
اگه صفحه جست و جو ساختیو جستجوی فارسی میخوای بکنی راه حلش سادست
اینهمه دنگ و فنگ نداره
3 چیز مهمه این سه چیز رو جایی نمیتونی پیدا کنی من خودم مشکل فارسی داشتم
1- موقع ساختن دیتابیس utf8_persian_ci <=Collation
2- فیلد مورد نظر هم مثل بالایی مثلا type:varchar و
utf8_persian_ci <=Collation
اینا رو که همه تنظیم میکنن.
8 ساعت تو اینترنت گشتم آخر نتونستم
بعد یِ ی هویی دریچه هایی باز شد !!!! فهمیدم
و 3 که از همه مهمتره اینه که متد فرمت حتما باید post باشه!!!!! اگه get باشه چون تو آدرس بار تبدیل میشه
پیدا نمی کنه همین
اگه با urldecode()
دیکود کنه میتونه با $_GET هم کار کنه

funpatogh
پنج شنبه 06 اسفند 1388, 23:18 عصر
سلام
مگه میخوای چکار کنی که لازمه تو مدیریت دیتابیس فارسی ببینی!!!!
اگه صفحه جست و جو ساختیو جستجوی فارسی میخوای بکنی راه حلش سادست
اینهمه دنگ و فنگ نداره
3 چیز مهمه این سه چیز رو جایی نمیتونی پیدا کنی من خودم مشکل فارسی داشتم
1- موقع ساختن دیتابیس utf8_persian_ci <=Collation
2- فیلد مورد نظر هم مثل بالایی مثلا type:varchar و
utf8_persian_ci <=Collation
اینا رو که همه تنظیم میکنن.
8 ساعت تو اینترنت گشتم آخر نتونستم
بعد یِ ی هویی دریچه هایی باز شد !!!! فهمیدم
و 3 که از همه مهمتره اینه که متد فرمت حتما باید post باشه!!!!! اگه get باشه چون تو آدرس بار تبدیل میشه
پیدا نمی کنه همین


urldecode($_GET['url']);

این جوری میتونه گت هم استفاده کنه