آموزش تغییر collation در phpmyadmin به utf8_general_ci

Rate this item
(0 votes)

در اين آموزش قصد داریم طریقه تبدیل collation های latin1_general_ci در دیتابیس phpmyadmin  به utf8_general_ci را آموزش دهیم.

شاید شما هم هنگام ورود اطلاعات در یک فیلد خاص به این مشکل برخورده باشید که با ذخیره کردن متن نوشته شده در فیلد مورد نظر، هنگام نمایش در سایت بصورت علامت سوال(؟؟؟؟؟؟) نمایش داده و یا ذخیره شده باشد.

این مورد زمانی پیش خواهد آمد که هنگام ساخت دیتا بیس جداول از نوع UTF-8 ساخته نشده باشند یعنی نوع collation تعریف شده بصورت latin1_general_ci بوده که می بایست به utf8_general_ci تغیر داده شود

حال راه حل چیست؟

 

فقط باید شما از طریق phpmyadmin به دیتابیس خود متصل شده و کوئری زیر را اجرا نمائيد:

 

ALTER TABLE mytable CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;

 

فقط کافی است بجای mytable نام جدول مورد نظر خود را وارد نمائيد.

بعضی مواقع تمام دیتابیس را باید تغییر دهيد برای این مورد پیشنهاد می کنیم از کد زیر استفاده نمائيد:

 

<?php
// your connection
mysql_connect("localhost","root","***");
mysql_select_db("DatabaseName");

// convert code
$res = mysql_query("SHOW TABLES");
while ($row = mysql_fetch_array($res))
{
    foreach ($row as $key => $table)
    {
        mysql_query("ALTER TABLE " . $table . " CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci");
        echo $key . " =&gt; " . $table . " CONVERTED<br />";
    }
}
?>

 

Read 8434 times