အီမိုဂျီကို MySQL တွင် မည်သို့သိမ်းဆည်းရမည်နည်း။ ဒေတာဘေ့စ် အီမိုဂျီ စကားအသုံးအနှုန်း မေးခွန်း အမှတ်အသား ပြဿနာ ဇာတ်ကောင်ကို ထည့်သွင်းပါ။

အီမိုဂျီအသုံးအနှုန်းကို utf8 ကုဒ်ဖြင့် သိမ်းဆည်းထားပါကMySQL ဒေတာဘေ့စ်သို့မဟုတ် MariaDB၊ ၎င်းကိုပြသ၍မရပါ။

ဒေတာဘေ့စ်ထဲသို့ ထည့်သွင်းထားသော အီမိုဂျီအသုံးအနှုန်းသည် အဘယ်ကြောင့် မေးခွန်းအမှတ်အသား ဇာတ်ကောင်ဖြစ်လာသနည်း။

အီမိုဂျီအသုံးအနှုန်းများသည် 4-byte စာလုံးများဖြစ်ပြီး utf8 ဇာတ်ကောင်သတ်မှတ်မှုသည် စာလုံးများ၏ 1-3 bytes ကိုသာ ပံ့ပိုးပေးသောကြောင့် အီမိုဂျီအသုံးအနှုန်းများကို ဒေတာဘေ့စ်တွင် ရေးသား၍မရပါ။

ဒေတာဘေ့စ်ထဲသို့ထည့်သွင်းထားသော အီမိုဂျီအသုံးအနှုန်းသည် မေးခွန်းအမှတ်အသား ဇာတ်ကောင်ဖြစ်လာသည့် ပြဿနာကို မည်သို့ဖြေရှင်းမည်နည်း။

ဖြေရှင်းချက် 2 ခုရှိသည်။

  1. စိတ်ကြိုက်စာလုံးများဖြင့် လေးဘိုက်အက္ခရာများကို အစားထိုးပြီး စာသားကို ကိုယ်တိုင်ထည့်ပါ။
  2. ပြုပြင်သည် က MySQL ဒေတာဘေ့စ်အက္ခရာအစုံ၊ ဒေတာဘေ့စ်အက္ခရာအစုံကို utf8 မှ utf8mb4 သို့ပြောင်းပါ၊ 1-4 byte စာလုံးများကို ပံ့ပိုးပါ။

တကယ်တော့ ပထမနည်းလမ်းက အလုပ်အရမ်းများပြီး အကြံပြုလိုပါတယ်။

ဒုတိယဖြေရှင်းချက်ကိုအသုံးပြုရန် MySQL ဒေတာဘေ့စ်အက္ခရာအစုံကို ပြင်ဆင်ရန် အကြံပြုထားသည်။

MySQL 5.5.3 ဗားရှင်းမှ စတင်၍ ဒေတာဘေ့စ်သည် 4 bytes ၏ utf8mb4 ဇာတ်ကောင်အစုံကို ပံ့ပိုးနိုင်ပြီး ဇာတ်ကောင်တစ်ခုတွင် 4 bytes အထိ ရှိနိုင်သောကြောင့် ၎င်းသည် ဇာတ်ကောင်အစုံများကို ပံ့ပိုးပေးနိုင်သည့်အပြင် အီမိုဂျီအသုံးအနှုန်းများကိုလည်း သိမ်းဆည်းနိုင်သည်။

  • MySQL 5.5.3 ပြီးနောက်၊ သင်သည် အခြေခံအားဖြင့် utf8mb4 ဇာတ်ကောင်အစုံသို့ ချောမွေ့စွာ အဆင့်မြှင့်နိုင်သည်။
  • တစ်ချိန်တည်းမှာပင်၊ utf8mb4 သည် utf8 ဇာတ်ကောင်အစုံနှင့် လိုက်ဖက်ပါသည်။
  • utf8 စာလုံးများ၏ ကုဒ်သွင်းမှု၊ အနေအထားနှင့် သိုလှောင်မှုသည် utf8mb4 တွင်ဖြစ်သည်။
  • utf8 ဇာတ်ကောင်သတ်မှတ်ထားသလိုပါပဲ၊ ရှိပြီးသားဒေတာကို ထိခိုက်မှုမရှိပါ။

ကြောင့်phpMyAdmin ကအသစ်ဖန်တီးထားသောဒေတာဘေ့စ်တစ်ခုရှိ အသစ်ဖန်တီးထားသောဇယားများအတွက်၊ ပုံသေဇာတ်ကောင်အသွင်ဝှက်ခြင်းမှာ-Latin1

  • ဤကုဒ်နံပါတ်သည် တရုတ်နှင့် အီမိုဂျီအသုံးအနှုန်းများကို ထည့်သွင်း၍မရပါ။
  • database character set နှင့် table ၏ character set encoding ကို utf8mb4 သို့ ပြောင်းလဲရန်လိုအပ်ပါသည်။
  • ထို့နောက် MySQL ကို ပြန်လည်စတင်ပါ၊ သင်သည် တရုတ်နှင့် အီမိုဂျီအသုံးအနှုန်းများကို ထည့်သွင်းနိုင်သည်။

MySQL Emoji ဇာတ်ကောင်ပြဿနာဖြေရှင်းချက်

第1步:MySQL configuration file my.cnf ကို ပြင်ဆင်ပါ။

  • (Windows server သည် my.ini၊Linux ကိုဆာဗာသည် my.cnf)
  • my.cnf ဖိုင်တွင် အများအားဖြင့်၊/etc/mysql/my.cnf位置။
  • CWP Control Panelmy.cnf ဖိုင်၊ တွင်ရှိသည်။/etc/my.cnf位置။

၎င်းကိုရှာဖွေပြီးနောက်၊ အောက်ပါအကြောင်းအရာကို အောက်ပါသုံးပိုင်း ▼ တွင်ထည့်ပါ။

[client]

default-character-set = utf8mb4

[mysql]

default-character-set = utf8mb4

[mysqld]

character-set-client-handshake = FALSE

character-set-server = utf8mb4

collation-server = utf8mb4_unicode_ci

init_connect='SET NAMES utf8mb4'

第2步:MySQL ဒေတာဘေ့စ်ကို ပြန်လည်စတင်ပါ။

service mysqld restart

အဆင့် 3- သတ်မှတ်ဇာတ်ကောင်ကို ထပ်မံစစ်ဆေးပြီး SQL command line တွင် ▼ ရိုက်ထည့်ပါ။

SHOW VARIABLES WHERE Variable_name LIKE 'character_set_database';

▼ အောက်ပါတို့ရှိမရှိ စစ်ဆေးပါ။

အီမိုဂျီကို MySQL တွင် မည်သို့သိမ်းဆည်းရမည်နည်း။ ဒေတာဘေ့စ် အီမိုဂျီ စကားအသုံးအနှုန်း မေးခွန်း အမှတ်အသား ပြဿနာ ဇာတ်ကောင်ကို ထည့်သွင်းပါ။

အောက်ပါ SQL command▼ ကိုရိုက်ထည့်ပါ။

SHOW VARIABLES WHERE Variable_name LIKE 'character_set_%' OR Variable_name LIKE 'collation%';

▼ အောက်ပါအတိုင်းဖြစ်မဖြစ် စစ်ဆေးပါ။

 +--------------------------+--------------------+

| Variable_name | Value |

+--------------------------+--------------------+

| character_set_client | utf8mb4 |

| character_set_connection | utf8mb4 |

| character_set_database | utf8mb4 |

| character_set_filesystem | binary |

| character_set_results | utf8mb4 |

| character_set_server | utf8mb4 |

| character_set_system | utf8 |

| collation_connection | utf8mb4_unicode_ci |

| collation_database | utf8mb4_unicode_ci |

| collation_server | utf8mb4_unicode_ci |

+--------------------------+--------------------+

phpMyAdmin တွင် ဒေတာဘေ့စ်အသစ်တစ်ခု ဖန်တီးပြီးနောက်၊ သင်သည် လိုအပ်သည်။ဒေတာဘေ့စ်ကုဒ်ကိုကြည့်ပါ ▼

SHOW CREATE DATABASE db_name;
  • like:SHOW CREATE DATABASE test;

ဒေတာဘေ့စကုဒ်ကုဒ်မဟုတ်ရင်utf8mb4၊ သင်သတ်မှတ်ထားသည့် ဒေတာဘေ့စ်အက္ခရာကို ပြင်ဆင်ရပါမည်။utf8mb4

utf8mb4 ဟုသတ်မှတ်ထားသောဒေတာဘေ့စ်ဇာတ်ကောင်ကိုမွမ်းမံနည်း။

အဆင့် 1- phpMyAdmin တွင် လက်ရှိဒေတာဘေ့စ်အမည်ကို နှိပ်ပါ၊ ထို့နောက် SQL ကိုနှိပ်ပါ။

အဆင့် 2- သတ်မှတ်ထားသော ဒေတာဘေ့စ် ဇာတ်ကောင်ကို မွမ်းမံရန် အောက်ပါ command ကို ရိုက်ထည့်ပါ။utf8mb4

ALTER DATABASE db_name DEFAULT CHARACTER SET utf8mb4
  • like:ALTER DATABASE test DEFAULT CHARACTER SET utf8mb4;

第3步:MySQL ဒေတာဘေ့စ်ကို ပြန်လည်စတင်ပါ။

service mysqld restart
  • ဒါပဲ။

ဤသည်မှာ SQL commands များ၏ ဥပမာအချို့ဖြစ်သည်။

မူရင်းဇာတ်ကောင်သတ်မှတ်မှုနှင့် ဇယား၏ဇာတ်ကောင်ကော်လံအားလုံးကို စာလုံးအသစ်သတ်မှတ်ခြင်း ▼ ပြောင်းပါ။

ALTER TABLE tbl_name CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8_general_ci;
  • like:ALTER TABLE logtest CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8_general_ci;

အကယ်၍ သင်သည် ဇယား၏ ပုံသေဇာတ်ကောင်အစုံကိုသာ ပြင်ဆင်မည်ဆိုပါက ▼

ALTER TABLE tbl_name  DEFAULT CHARACTER SET utf8mb4 COLLATE utf8_general_ci;
  • like:ALTER TABLE logtest DEFAULT CHARACTER SET utf8mb4 COLLATE utf8_general_ci;

▼ အကွက်တစ်ခု၏ ဇာတ်ကောင်အစုံကို မွမ်းမံပါ။

ALTER TABLE tbl_name CHANGE c_name c_name CHARACTER SET character_name 
  • like:ALTER TABLE logtest CHANGE title title VARCHAR(100) CHARACTER SET utf8 COLLATE utf8_general_ci;

ဇယားကုဒ် ▼ ကြည့်ပါ။

SHOW CREATE TABLE tbl_name;

အကွက်ကုဒ်များ ▼ ကြည့်ပါ။

SHOW FULL COLUMNS FROM tbl_name;

လက်ရှိဒေတာဘေ့စ်ကုဒ်ကိုကြည့်ပါ ▼

SHOW VARIABLES LIKE 'character_set_%';
  • mysql-connector-java driver package သည် 5.1.13+ တွင် utf8mb4 ကိုသာ ပံ့ပိုးပေးသည်

မျှော်လင့်ခြင်း Chen Weiliang ဘလော့ဂ် ( https://www.chenweiliang.com/ ) မျှဝေထားသည့် "အီမိုဂျီများကို MySQL တွင် မည်ကဲ့သို့ သိမ်းဆည်းရမည်နည်း။ ဒေတာဘေ့စ် အီမိုဂျီ စကားအသုံးအနှုန်း မေးခွန်း အမှတ်အသား ပြဿနာ" ကို သင့်အတွက် အထောက်အကူဖြစ်စေသည်။

ဤဆောင်းပါး၏ link ကိုမျှဝေရန်ကြိုဆိုပါတယ်:https://www.chenweiliang.com/cwl-26592.html

နောက်ဆုံးထွက်မွမ်းမံမှုများကို ရယူရန် Chen Weiliang ၏ တယ်လီဂရမ်ချန်နယ်မှ ကြိုဆိုပါသည်။

🔔 ချန်နယ်ထိပ်တန်းလမ်းညွှန်တွင် တန်ဖိုးရှိသော "ChatGPT အကြောင်းအရာစျေးကွက်ရှာဖွေရေး AI ကိရိယာအသုံးပြုမှုလမ်းညွှန်" ကို ပထမဆုံးရရှိသူဖြစ်လိုက်ပါ။ 🌟
📚 ဤလမ်းညွှန်တွင် တန်ဖိုးကြီးကြီးမားမားပါရှိသည်၊ 🌟ဒါက ရှားပါးအခွင့်အရေးပါ၊ လက်လွတ်မခံပါနဲ့။ ⏰⌛💨
ကြိုက်ရင် Share ပြီး Like လုပ်ပါ။
သင်၏မျှဝေခြင်းနှင့် လိုက်ခ်များသည် ကျွန်ုပ်တို့၏ စဉ်ဆက်မပြတ်လှုံ့ဆော်မှုဖြစ်သည်။

 

မှတ်ချက်များ

သင့်ရဲ့အီးမေးလ်လိပ်စာကိုထုတ်ဝေမည်မဟုတ် 用项已用用 * တံဆိပ်

အပေါ်မှလှိမ့်