در ادامه مطلب رفع مشکل نمایش حروف فارسی MySQL که به صورت ? ذخیره میشدند ، در این مطلب قصد داریم شما را با اسکریپت تغییر Collation در MySQL آشنا سازیم تا بدون اینکه نیاز به تغییرات زیادی داشته باشید ، براحتی بتوانید این مشکل را مرتفع سازید.
خیلی از کاربران ما پس از انتشار مطلب ، تغییر Collation و تعریف UTF8 در یونیکد MySQL درخواستی مبنی بر روشی سادهتر ارسال کرده بودند که بر همین اساس سعی کردیم سادهترین وسریعترین راه ممکن را برای شما آمادهسازی کنیم.
در این روش ، یک کد PHP برای شما در نظر گرفته شده است که با کپی کردن در یک فایل و ذخیره آن با پسوند PHP در هاست و اجرای آن شما بدون دخالت در دیتابیس خود ، برای همیشه این مشکل را حل خواهید کرد.
برای انجام این عملیات نیاز است که موارد زیر را با دقت طی کنید تا پس از یک بار اجرای اسکریپت ، مشکل شما برای همیشه حل گردد.
در ادامه با ما همراه باشید.
اسکریپت تغییر Collation در MySQL
1- یک فایل متنی در Notepad و یا ++Notepad باز کنید.
2- اسکریپت زیر را در آن کپی کنید.
$db_name= 'DATABASE_NAME';
$db_username= 'DATABASE_USER';
$db_password= 'DATABASE_PASS';
$db = mysql_connect('localhost',$db_username,$db_password);
if(!$db) echo "Cannot connect to the database - User or Password incorrect!";
mysql_select_db($db_name);
$result=mysql_query('show tables');
while($tables = mysql_fetch_array($result)) {
foreach ($tables as $key => $value) {
mysql_query("ALTER TABLE $value CONVERT TO CHARACTER SET utf8_general_ci");
}
}
mysql_query("ALTER DATABASE $db_name DEFAULT CHARACTER SET utf8 COLLATE utf8_persian_ci");
echo "The collation has been successfully changed!";
?>
تمامی اطلاعاتی که به صورت بولد نمایش داده شده را باید با اطلاعات مورد نظر دیتابیس خود تغییر دهید.
DATABASE_NAME : نام دیتابیس خود را در این بخش جایگزین کنید.
DATABASE_USER : یوزرنیم دیتابیس خود را در این قسمت جایگزین نمایید.
DATABASE_PASS : پسورد یوزرنیم دیتابیس خود را در این قسمت جایگزین کنید.
اگر با این کار مشکلی دارید ، میتوانید این اسکریپت را از اینجا دانلود کرده و پس از خارج کردن آن از حالت zip به ویرایش دادهها مورد نیاز ذکر شده در بالا ، بپردازید.
3- پس اتمام مراحل بالا و اتمام ویرایش فایل ، به بخش File Manager پنل خود رفته و فایل را در پوشه Public_html ، آن را آپلود نمایید.
4- پس از آپلود ، یک مرورگر باز کرده و نام دامنه خود را به همراه نام فایل وارد نمایید.
به طور مثال ، در این بخش ما نام فایل خود را Collation-set-utf8.php ذخیره کردهایم و برای وارد کردن آدرس فایل به شکل http://azarlearn.com/collation-set-utf8 اقدام خواهیم کرد.
نکته : دقت داشته باشید وارد کردن نام فایل در ادامه دامنه ، به حروف بزرگ و کوچک حساس است.
5- پس از اجرا ، چند لحظه صبر کرده تا پیغامی همانند تصویر زیر را مشاهده نمایید.
پس از اجرای صحیح اسکریپت ، شما میتوانید به ذخیره اطلاعات خود به زبان فارسی و بدون تغییر در دیتابیس نیز بپردازید.
نکته بسیار مهم : به دلیل وجود اطلاعات دیتابیس در هاست ، پس از اجرا و انجام شدن عملیات ، فایل را از هاست خود حذف کنید ؛ ممکن است در صورت دسترسی به فایل توسط هکرها برای شما خطرناک باشد.
امیدواریم اسکریپت تغییر Collation در MySQL برای شما مفید واقع شده باشد.
کاربر گرامی شما میتوانید سؤالات مربوط به این آموزش را در بخش کامنتها عنوان کرده و در همین قسمت پاسخ خود را دریافت کنید.