نحوه تبدیل دیتابیس MySQL به انکودینگ UTF-8

این مقاله نحوه تبدیل یک کاراکتر پایگاه داده MySQL به کدگذاری UTF-8 (همچنین به عنوان Unicode شناخته می شود) را توضیح می دهد. مجموعه ی رمزگذار یو تی اف -8 پشتیبانی بسیاری از حروف و شخصیت ها را برای طیف وسیعی از زبان ها دارد.

اگر چه MySQL از مجموعه ی رمزگذاری یک کاربر UTF-8 پشتیبانی می کند، اغلب به عنوان یک کاربر پیش فرض در هنگام ایجاد پایگاه داده ها و جدول استفاده نمی شود. در نتیجه، بسیاری از پایگاه های داده از مجموعه کاراکتر لاتین استفاده می کنند که بسته به برنامه می تواند محدود باشد.

نحوه تبدیل پایگاه داده MySQL به کدگذاری UTF-8

نحوه تبدیل پایگاه داده MySQL به کدگذاری UTF-8

تنظیم رمزگذار فعلی را تعیین کنید

برای تعیین اینکه کدام کاراکتر یک پایگاه داده یا جدول MySQL را تنظیم می کند، در حال حاضر از این استفاده می کند:

  1. وارد حساب کاربری SSH خود شوید.
  2. در خط فرمان، دستور زیر را تایپ کنید، USERNAME را با نام کاربری خود جایگزین کنید:
    mysql -u USERNAME -p
  3. در کلمه عبور وارد کنید ، رمز عبور خود را تایپ کنید. وقتی رمز عبور صحیح را تایپ می کنید، ظاهر می شود ، mysql> prompt.
  4. برای نمایش رمزگذاری فعلی پرونده برای یک پایگاه داده خاص، دستور زیر را در mysql> prompt تایپ کنید. DBNAME را با نام پایگاه داده جایگزین کنید :
    SELECT default_character_set_name FROM information_schema.SCHEMATA S WHERE schema_name = "DBNAME"؛
  5. برای نشان دادن رمزگذاری کاراکتر فعلی برای یک جدول خاص در یک پایگاه داده ، دستور زیر را در mysql> prompt تایپ کنید. جایگزین DBNAME با نام پایگاه داده و TABLENAME با نام جدول:
    SELECT CCSA.character_set_name از information_schema.`TABLES` T، information_schema.`COLLATION_CHARACTER_SET_APPLICABILITY` CCSA WHERE CCSA.collation_name = T.table_collation و T.table_schema = "DBNAME" و T.table_name = "TABLENAME"؛
  6. برای خروج از برنامه mysql ، \ q را در mysql> تایپ کنید.

رمزگذاری کاراکتر را به UTF-8 تبدیل کنید

اطمینان حاصل کنید که قبل از شروع این روش از پایگاه داده پشتیبان تهیه کنید! شما می توانید پایگاه داده MySQL را با استفاده از cPanel ، phpMyAdmin یا برنامه mysqldump پشتیبان گیری کنید .

برای تبدیل رمزگذاری کاراکتر به UTF-8:

  1. وارد حساب کاربری SSH خود شوید.
  2. یک فایل متنی به نام .my.cnf ایجاد کنید . برای انجام این کار، می توانید یک ویرایشگر متن مانند Vim یا Nano استفاده کنید. این روش نشان می دهد که چگونه از نانو استفاده کنید. در خط فرمان، دستور زیر را تایپ کنید:
    nano mymy.cnf
  3. خطوط زیر را به فایل اضافه کنید، USERNAME را با نام کاربری و PASSWORD خود با گذرواژه خود جایگزین کنید (مطمئن شوید رمز عبور در علامت نقل قول بسته شده است):
    [client]
    user=USERNAME
    password="PASSWORD"
  4. وقتی ویرایشها کامل شوند، Ctrl + X را فشار دهید، Y را تایپ کنید تا فایل را ذخیره کنید، سپس ENTER را فشار دهید.
  5. برای تغییر رمزگذار مجموعه کاراکتر به UTF-8 برای تمام جداول در پایگاه داده مشخص شده، دستور زیر را در خط فرمان تایپ کنید. DBNAME را با نام پایگاه داده جایگزین کنید :
    mysql --database = DBNAME -B -N -e "SHOW TABLES" | awk '{print' SET foreign_key_checks = 0؛ ALTER TABLE "، $ 1" تبدیل به مشخص کردن مجموعه utf8 COLLATE utf8_general_ci؛ SET foreign_key_checks = 1؛ "} '| mysql --database = DBNAME
  6. پس از اتمام فرمان، دستور زیر را برای شروع برنامه mysql تایپ کنید :
    mysql
  7. برای تغییر رمزگذار کدگذاری به UTF-8 برای پایگاه داده خود، دستور زیر را در mysql> prompt تایپ کنید. DBNAME را با نام پایگاه داده جایگزین کنید :
    ALTER DATABASE DBNAME CHARACTER SET utf8 COLLATE utf8_general_ci؛
  8. برای خروج از برنامه mysql ، \ q را در mysql> تایپ کنید.
  9. برای حذف فایل mymy.cnf ، دستور زیر را در خط فرمان تایپ کنید:
    rm .my.cnf
  10. برای تأیید اینکه رمزگذاری مجموعه کاراکتر اکنون به UTF-8 تنظیم شده است، مراحل را در فرمان Set procedure of coding current تعیین کنید .

مطالب مرتبط با این آموزش »

 

2.7/5 - (4 امتیاز)