امتیاز موضوع:
  • 1 رأی - میانگین امتیازات: 5
  • 1
  • 2
  • 3
  • 4
  • 5
UFT-8 کردن دسته جمعی دیتابییس ها
#
سلام کاربران زیادی دنبال چنین کد و برنامه ای میگردن که کل دیتابیس رو یک جا UTF-8 کنه این آموزش برای افرادی مفید هست که کل دیتابیسشون Collation اون غیر از UTF-8 باشه و افراد مبتدی.
این کد PHP هستش که باید یک فایل به نام مثلا UTF.php روی هاست خودتون ایجاد کنید و کد زیر رو درون اون بریزید و صفحه رو از روی سایت خودتون اجرا کنید و در عرض کمتر از چند ثانیه کل دیتابیس UFT-8 میشه

این کد:
کد:
<?php

function MysqlError()
{
        if (mysql_errno())
        {
                echo "<b>Mysql Error: " . mysql_error() . "</b>\n";
        }
}

$username = "root";
$password = "";
$db = "mysql";
$host = "localhost";

$target_charset = "utf8";
$target_collate = "utf8_general_ci";

echo "<pre>";

$conn = mysql_connect($host, $username, $password);
mysql_select_db($db, $conn);

$tabs = array();
$res = mysql_query("SHOW TABLES");
MysqlError();
while (($row = mysql_fetch_row($res)) != null)
{
        $tabs[] = $row[0];
}

// now, fix tables
foreach ($tabs as $tab)
{
        $res = mysql_query("show index from {$tab}");
        MysqlError();
        $indicies = array();

        while (($row = mysql_fetch_array($res)) != null)
        {
                if ($row[2] != "PRIMARY")
                {
                        $indicies[] = array("name" => $row[2], "unique" => !($row[1] == "1"), "col" => $row[4]);
                        mysql_query("ALTER TABLE {$tab} DROP INDEX {$row[2]}");
                        MysqlError();
                        echo "Dropped index {$row[2]}. Unique: {$row[1]}\n";
                }
        }

        $res = mysql_query("DESCRIBE {$tab}");
        MysqlError();
        while (($row = mysql_fetch_array($res)) != null)
        {
                $name = $row[0];
                $type = $row[1];
                $set = false;
                if (preg_match("/^varchar\((\d+)\)$/i", $type, $mat))
                {
                        $size = $mat[1];
                        mysql_query("ALTER TABLE {$tab} MODIFY {$name} VARBINARY({$size})");
                        MysqlError();
                        mysql_query("ALTER TABLE {$tab} MODIFY {$name} VARCHAR({$size}) CHARACTER SET {$target_charset}");
                        MysqlError();
                        $set = true;

                        echo "Altered field {$name} on {$tab} from type {$type}\n";
                }
                else if (!strcasecmp($type, "CHAR"))
                {
                        mysql_query("ALTER TABLE {$tab} MODIFY {$name} BINARY(1)");
                        MysqlError();
                        mysql_query("ALTER TABLE {$tab} MODIFY {$name} VARCHAR(1) CHARACTER SET {$target_charset}");
                        MysqlError();
                        $set = true;

                        echo "Altered field {$name} on {$tab} from type {$type}\n";
                }
                else if (!strcasecmp($type, "TINYTEXT"))
                {
                        mysql_query("ALTER TABLE {$tab} MODIFY {$name} TINYBLOB");
                        MysqlError();
                        mysql_query("ALTER TABLE {$tab} MODIFY {$name} TINYTEXT CHARACTER SET {$target_charset}");
                        MysqlError();
                        $set = true;

                        echo "Altered field {$name} on {$tab} from type {$type}\n";
                }
                else if (!strcasecmp($type, "MEDIUMTEXT"))
                {
                        mysql_query("ALTER TABLE {$tab} MODIFY {$name} MEDIUMBLOB");
                        MysqlError();
                        mysql_query("ALTER TABLE {$tab} MODIFY {$name} MEDIUMTEXT CHARACTER SET {$target_charset}");
                        MysqlError();
                        $set = true;

                        echo "Altered field {$name} on {$tab} from type {$type}\n";
                }
                else if (!strcasecmp($type, "LONGTEXT"))
                {
                        mysql_query("ALTER TABLE {$tab} MODIFY {$name} LONGBLOB");
                        MysqlError();
                        mysql_query("ALTER TABLE {$tab} MODIFY {$name} LONGTEXT CHARACTER SET {$target_charset}");
                        MysqlError();
                        $set = true;

                        echo "Altered field {$name} on {$tab} from type {$type}\n";
                }
                else if (!strcasecmp($type, "TEXT"))
                {
                        mysql_query("ALTER TABLE {$tab} MODIFY {$name} BLOB");
                        MysqlError();
                        mysql_query("ALTER TABLE {$tab} MODIFY {$name} TEXT CHARACTER SET {$target_charset}");
                        MysqlError();
                        $set = true;

                        echo "Altered field {$name} on {$tab} from type {$type}\n";
                }

                if ($set)
                        mysql_query("ALTER TABLE {$tab} MODIFY {$name} COLLATE {$target_collate}");
        }

        // re-build indicies..
        foreach ($indicies as $index)
        {
                if ($index["unique"])
                {
                        mysql_query("CREATE UNIQUE INDEX {$index["name"]} ON {$tab} ({$index["col"]})");
                        MysqlError();
                }
                else
                {
                        mysql_query("CREATE INDEX {$index["name"]} ON {$tab} ({$index["col"]})");
                        MysqlError();
                }

                echo "Created index {$index["name"]} on {$tab}. Unique: {$index["unique"]}\n";
        }

        // set default collate
        mysql_query("ALTER TABLE {$tab}  DEFAULT CHARACTER SET {$target_charset} COLLATE {$target_collate}");
}

// set database charset
mysql_query("ALTER DATABASE {$db} DEFAULT CHARACTER SET {$target_charset} COLLATE {$target_collate}");

mysql_close($conn);
echo "</pre>";

توجه داشته باشید این 4 مورد رو به اطلاعات دیتابیس خودتون تغییر بدید:
کد:
$username = "root";
$password = "";
$db = "mysql";
$host = "localhost";

منبع : http://www.gigpa.ir اینم سایت خودمه

یا علی مدد :wub::heart:
یا علی مدد


http://oshagholhosein.ir - انجمن عشاق الحسین
#
من انجام دادم ولی تغییری نکرد و هنوز بلوک هام علامت سوال مونده
#
شما طبق روش این کار رو انجام بدید و اطلاعات دیتابیس رو توی فایل وارد کنید و صفحه رو ارجرا کنید من خودم امتحان کردم کاملا جواب داده.

هاست شما چیه؟؟
من روی هاست های رایگان هم این کار رو انجام دادم.
یا علی مدد


http://oshagholhosein.ir - انجمن عشاق الحسین
#
راستی اول کد ها رو بریز توی نوت پد بعد عوض کن بعد برو توی هاست و اجراش کن.
یا علی مدد


http://oshagholhosein.ir - انجمن عشاق الحسین
#
هاستم لینوکسه و سیپنل هستش
منظور از ضفحه رو اجرا کنید چیه؟
#
یعنی بعد از اینکه این صفحه رو درست کردی وارد
atashesoozan.org/UTF.php بشی.
[مهم] قوانین مای بی بی اسکین
[ویژه] همکاری با تیم مای بی بی اسکین

ما فراموش شدگانیم جز نعره سلاحی نیست...

لطفا به هیچ وجه از مدیران در پیام خصوصی درخواست کمک نکنید و یا سوال نپرسید.
#
انجام دادم ولی وقتی میخوام وارد بشم صفحه سفید میشه
#
خوب صفحه سفید میشه و چند دقیقه صبر میکنید بعد میری دیتابیس ها رو میبینی که همش UTF-8 شده.
یا علی مدد


http://oshagholhosein.ir - انجمن عشاق الحسین
 
 


موضوع‌های مرتبط با این موضوع...
موضوع: نویسنده پاسخ: بازدید: آخرین ارسال
  اموزش تصویری utf-8 کردن تیبل ها در دیتابیس ! Omid StaR ! 22 5,750 ۱۲-۱۱-۱۳۹۲
آخرین ارسال: mostafa mf
  افزایش سرعت با استفاده از gzip کردن sajad7605 8 2,613 ۱۷-۶-۱۳۹۲
آخرین ارسال: Hossein121
  آموزش اضافه کردن محروم سازی آی پی به پروفایل کاربر Hossein121 0 582 ۱۲-۵-۱۳۹۲
آخرین ارسال: Hossein121
  اموزش اسان کردن قسمت ثبت نام (عضویت کوتاه) ! Omid StaR ! 2 1,104 ۸-۷-۱۳۹۱
آخرین ارسال: Hossein121
  اموزش اضافه کردن کلید میانبر به صورت کشویی ! Omid StaR ! 4 1,704 ۴-۴-۱۳۹۱
آخرین ارسال: tanhatarin
  نحوه ی اضافه کردن دکمه به قسمت ارسال ها SheRvin 0 851 ۲۹-۲-۱۳۹۱
آخرین ارسال: SheRvin
  اضافه کردن حروف الفبا به لیست اعضاء A,B,C,D ,E ,... SheRvin 0 821 ۲۸-۲-۱۳۹۱
آخرین ارسال: SheRvin

پرش به انجمن:


کاربرانِ درحال بازدید از این موضوع: 1 مهمان

اخبار فناوری اطلاعات | نرم افزار املاک | نرم افزار رستوران | نرم افزار تاکسی سرویس | نرم افزار رستوران | دانلود نرم افزار مطب | دانلود نرم افزار تاکسی سرویس | مجله پزشکی آسان طب | اتوماسیون پزشکی | نرم افزار دفترچه تلفن نرم افزار چاپ چک نرم افزار رستوران نرم افزار فست فود نرم افزار کافی شاپ نرم افزار تاکسی سرویس نرم افزار نمایشگاه خودرو نرم افزار املاک نرم افزار هتلداری نرم افزار مطب نرم افزار دندانپزشکی نرم افزار انبارداری نرم افزار حسابداری فروشگاه نرم افزار وکالت مجله اینترنتی پارسی وان | مجله اینترنتی زیگیل | خرید بک لینک | خرید رپورتاژ | سینما تئاتر مای استیج | یک مهاجر | دنیای مهاجرت | مجله گردشگری کاروان | وردپرس دانلود | مجله تفریحی تندیس فان | نرم افزار Software | جوک جدید | اخبار هنر | اخبار کامپیوتر | سایت پزشکی | فروشگاه اینترنتی | سایت خبری | اندروید سه | مجله کامپیوتری | تم کد | مجله اینترنتی وبدون | سایت تفریحی تک لایو | مجله سرگرمی سایت پزشکی دکتر طب | فرتکست | مجله پزشکی نت سلامت | کافه ایرونی | مجله خندانک | مجله اینترنتی فان استار | مجله من | مجله اینترنتی دونیمه | مجله اینترنتی بردیا | فاینال مد | فرهنگیا | نامبروان | جان نو | مگفر | مجله 24 | نیمچه | تک پدیا | آیناز وب | مطالب بیست | میهن اسکای | نیک آنلاین | شینار | وطنی ها | طب جدید | هوای تازه | آاقای گل | برترین مطالب | دایی رضا | فارس پدیا | آجودانیه | چارشنبه | فانیفا | قارپوز | گوهرمند | گل بهار | جهان من | جوان امروز | کالچر | مه آذین | مجله سبز | مگناب | دنیای نت | نیک اندیشه | نیکاندوست | نیک پاتوق | ازبک | پارمینو | پیک آبی | پورتال من | راز آلود | روسپید | رشد نگر | رویای زندگی | شورانگیز | سیمای وب | نتیها | تاپکده | وب دوستان | ویکی وان | یکناز | زرچوب | زردقناری | عصرطلایی | فرتورز | آموزش گیتار | مایادانلود | | دکتر CMS | سایت آموزش گیتار | رایان درمان | پارسیان گشت | ایران کافه | گیتی بوک | مجله فراتوریسم | فراتوریسم | دکتر آسان دنت | آسان دنت | مجله گردشگری افراگشت | افراگشت | هشت گام | فرکافی | میهن تاج | مجله پزشکی رایان درمان | موج سینما | تیزباد | برفانک | کافه داران | کینگ دانلود | هتل آپارتمان مشهد

درباره خانه

ایران تاک | انجمن گفتگوی ایرانیان