شاید برای شما هم پیش آمده باشد که هنگام خرید سرور مجازی و در زمان ورود اطلاعات در یک فیلد خاص به این مشکل برخورده باشید که بعد از ذخیره کردن متن نوشته شده در فیلد مورد نظر، هنگام خروجی و نمایش در سایت نوشته شما بصورت علامت سوال “؟؟؟؟؟” نمایش داده و یا ذخیره شده باشد. این مشکل زمانی پیش می آید که هنگام ساخت دیتابیس جداول از نوع UTF-8 ساخته نشده باشند. یعنی نوع collation تعریف شده بصورت latin1_general_ci بوده که می بایست به utf8_general_ci تغییر داده شود. ما در این مقاله از سری مقالات آمزشی مبین هاست قصد داریم به آموزش نحوه تغییر Collation تیبل های دیتابیس بپردازیم.
از طریق phpmyadmin به دیتابیس خود متصل شده و کوئری زیر را اجرا نمائید:
ALTER TABLE MYTABLE CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;
فقط کافی است بجای MYTABLE نام جدول مورد نظر خود را وارد نمائید.
برای تغییر collation بعضی مواقع تمام دیتابیس را باید تغییر دهید برای این مورد پیشنهاد می کنیم از کد زیر استفاده نمائید:
<?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 مراجعه کنید. در صورت بروز هر گونه سوال و مشکل در این خصوص می توانید با تیم پشتیبانی مبین هاست تماس حاصل فرمایید. یا با ارسال تیکت با ما در ارتباط باشید.