تغییر Collation تیبل های دیتابیس

تغییر collation تیبل های دیتابیس

تغییر Collation تیبل های دیتابیس

هنگام خرید هاست برای شما هم شاید پیش آمده باشد که هنگام ورود اطلاعات در یک فیلد خاص به این مشکل برخورده باشید که بعد از ذخیره کردن متن نوشته شده در فیلد مورد نظر، هنگام خروجی و  نمایش در سایت بصورت علامت سوال “؟؟؟؟؟” نمایش داده و یا ذخیره شده باشد. این مشکل زمانی پیش می آید که هنگام ساخت دیتابیس جداول از نوع UTF-8 ساخته نشده باشند یعنی نوع collation تعریف شده بصورت latin1_general_ci بوده که می بایست به utf8_general_ci تغییر داده شود. این آموزش به نحوه تغییر Collation تیبل های دیتابیس می پردازد.

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

ALTER TABLE MYTABLE CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;

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

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

<?php

$db = mysql_connect('localhost','MY_DB','MYPASS');

if(!$db) echo "Cannot connect to the database - incorrect details";

mysql_select_db('MY_DBUSER');

$result=mysql_query('show tables');

while($tables = mysql_fetch_array($result)) {
foreach ($tables as $key => $value) {

mysql_query("ALTER TABLE $value COLLATE utf8_general_ci");
}
}

echo "The collation of your database has been successfully changed!";

?>

دقت داشته باشید که گزینه ها را درست وارد کنید به شکل زیر :

MY_DB: نام دیتابیس خود را وارد کنید.

MY_DBUSER: نام یوزر دیتابیس خود را وارد کنید.

MYPASS: پسورد یوزر دیتابیس خود را وارد کنید.

برای اطلاعات بیشتر درباره collation میتوانید به سایت mysql  مراجعه کنید .


دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *