- 1 1. Pendahuluan
- 2 2. Penyebab Utama Masalah Pengkodean Karakter
- 3 3. Memahami Konfigurasi Set Karakter MySQL
- 4 4. Mencegah Masalah Pengkodean Karakter
- 5 5. Apa yang Harus Dilakukan Jika Kerusakan Karakter Terjadi
- 6 6. FAQ (Pertanyaan yang Sering Diajukan)
- 6.1 Q1: Mengapa teks Jepang muncul sebagai “???” di MySQL?
- 6.2 Q2: Bagaimana cara mengubah set karakter tabel yang sudah ada?
- 6.3 Q3: Bagaimana cara mencegah kerusakan karakter di command prompt Windows?
- 6.4 Q4: Bagaimana cara mencegah kerusakan karakter di lingkungan Docker?
- 6.5 Q5: Di mana file konfigurasi MySQL berada?
- 7 7. Summary
1. Pendahuluan
When building a database using MySQL, character encoding issues (moji-bake) are one of the most common problems users encounter. When character corruption occurs, data cannot be displayed or entered correctly, which may significantly disrupt business operations and system management. This article explains the main causes of character encoding issues in MySQL, outlines effective solutions, and provides concrete troubleshooting steps.
2. Penyebab Utama Masalah Pengkodean Karakter
Character encoding problems in MySQL can generally be classified into the following three categories:
Ketidaksesuaian Pengaturan Pengkodean Karakter
- MySQL supports multiple character sets. If the character encoding between the client and the server does not match, character corruption will occur.
Perbedaan Konfigurasi Antara Klien dan Server
- If the string sent from the client (for example, phpMyAdmin or a command-line tool) does not match the server’s character set configuration, problems can occur.
Pengaturan Set Karakter yang Salah untuk Basis Data atau Tabel
- If you do not specify the appropriate
CHARACTER SETwhen creating a database or table, inconsistencies may arise later when manipulating data.
3. Memahami Konfigurasi Set Karakter MySQL
Correctly understanding MySQL character set configuration is the first step toward preventing character corruption. Let’s review the following items.
Variabel Konfigurasi Set Karakter Utama
character_set_server: The default character set for the entire servercharacter_set_client: The character set of strings sent from the clientcharacter_set_database: The default character set for the database
Cara Memeriksa Pengaturan Saat Ini
- Run the following command to check the current character set configuration.
SHOW VARIABLES LIKE 'character_set%';
- Based on the output results, identify any configuration mismatches.
4. Mencegah Masalah Pengkodean Karakter
To prevent character corruption in advance, proper configuration and environment setup are essential.
Menyesuaikan File Konfigurasi MySQL (my.cnf/my.ini)
- To modify server-side settings, edit
my.cnformy.inias shown below.[mysqld] character-set-server = utf8mb4 collation-server = utf8mb4_general_ci
Menetapkan Pengkodean Karakter untuk Basis Data dan Tabel
- When creating a database, explicitly specify the character set using the following command.
CREATE DATABASE sample_db CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
- To modify an existing table:
ALTER TABLE table_name CONVERT TO CHARACTER SET utf8mb4;
Menyesuaikan Lingkungan Klien
- When using a command-line tool, specify the character set at the time of connection.
mysql --default-character-set=utf8mb4 -u root -p

5. Apa yang Harus Dilakukan Jika Kerusakan Karakter Terjadi
If character encoding issues occur, follow the steps below to resolve the problem.
Periksa Konfigurasi
- Use the
SHOW VARIABLEScommand introduced earlier to verify the current configuration values.
Cadangkan dan Pulihkan Data
- When backing up data, be sure to explicitly specify the character set.
mysqldump --default-character-set=utf8mb4 -u root -p database_name > backup.sql
- Specify the same character set when restoring.
mysql --default-character-set=utf8mb4 -u root -p database_name < backup.sql
Langkah‑Langkah Pemecahan Masalah
- Check the configuration using the
SHOW VARIABLEScommand, update it to the correct settings if necessary, and then test again. Review log files and error messages to identify the root cause.
6. FAQ (Pertanyaan yang Sering Diajukan)
Q1: Mengapa teks Jepang muncul sebagai “???” di MySQL?
- The character set configuration of the client or server may be set to
latin1or another incompatible encoding. Change the setting toutf8mb4.
Q2: Bagaimana cara mengubah set karakter tabel yang sudah ada?
- Anda dapat mengubahnya menggunakan perintah berikut.
ALTER TABLE table_name CONVERT TO CHARACTER SET utf8mb4;
Q3: Bagaimana cara mencegah kerusakan karakter di command prompt Windows?
- Gunakan perintah
chcp 65001untuk mengubah halaman kode menjadi UTF-8.
Q4: Bagaimana cara mencegah kerusakan karakter di lingkungan Docker?
- Buat file
my.cnfdi sisi host dan mount ke lokasi yang tepat di dalam container untuk menerapkan konfigurasi.
Q5: Di mana file konfigurasi MySQL berada?
- Di Linux, biasanya terletak di
/etc/my.cnfatau/etc/mysql/my.cnf. Di Windows, berada dalam direktori instalasi MySQL.
7. Summary
Masalah pengkodean karakter di MySQL dapat diselesaikan melalui konfigurasi yang tepat dan pemecahan masalah yang sistematis. Gunakan langkah-langkah yang dijelaskan dalam artikel ini untuk memverifikasi dan menyesuaikan pengaturan Anda sesuai kebutuhan. Dengan meninjau konfigurasi Anda secara teratur, Anda dapat meminimalkan risiko kerusakan karakter dan menjaga lingkungan basis data yang stabil.


