Cara menggunakan mysql collation case sensitive

SQL – Membuat Value Tabel Data Base Case Sensitif – Ini merupakan sebuah settingnya yang ada pada tabel database yang berfungsi sebagai pembeda dan juga identifikasi agar value atau nilai pada tabel database terbuat unik.

Cara ini saya gunakan ketika saya membuat sebuah situs pemendek url. Pada situs tersebut pemendekan url atau link terbagi menjadi dua tipe yaitu otomatis dan custom. Untuk otomatis short url yang terbentuk  terbentuk atau tergenerate secara otomatis melalui program yang dibuat, sedangkan untuk yang custom short url kita kostumisasi sesuai dengan ke inginan. Untuk situsnya disini pemendek url.

Pada kasus tersebut saya mengalami permasalahan ketika short yang di buat adalah sama misalkan user sudah mencustom short url nya menjadi “www.kasitau.com/uang” kemudian ada lagi user berikutnya yang menginput “www.kasitau.com/UanG” pada url tersebut secara struktur seharusnya berbeda yaitu menggunakan case sensitive. Nah sebelum saya menggunakan pengaturan yang saya lakukan ini, maka Url akan di anggap sama antara uang dan UanG pada value tabsle database. Nah berikut ini lah cara yang saya gunakan agar value tabel mysql menjadi case sensitive.

Membuat Value Tabel Data Base Case Sensitif

Untuk pengaturan ini bisa melalu phpmyadmin. Caranya,

1. Pertama masuk ke phpmyadmin pada server kamu

2. Kemudian pilih database yang akan di rubah menjadi case sensitif tabelnya, kemudian klik tab structure

Cara menggunakan mysql collation case sensitive

Membuat value tabel database case sensitif

3. Kemudian atur collation pada field yang ingi di rubah case sensitif,  menjadi Latin1_general_cs, seperti ini,

Hari ini kami menemukan script yang tidak jalan ketika melakukan eksekusi query mysql. Kemudian coba kami investigasi dan dari Error yang kami dapatkan ternyata terdeteksi bahwa table does’nt exist

Setelah cek lebih lanjut ternyata hal ini disebabkan nama table mysql menggunakan huruf kecil sedangkan pemanggilang menggunakan query menggunakan huruf besar

Karena secara default setup mysql adalah case sensitif sehingga timbul masalah seperti diatas, maka untuk solusinya yaitu menonaktifkan case sensitive tsb dengan cara menambahkan 1 baris di /etc/my.conf

Tambahkan baris berikut ini

lower_case_table_names = 1

Selesai, semoga membantu

No related posts.

  • Mod Security Install cannot find -lexpat
  • Centos Base Repo Lokal Indonesia Server

Leave a Reply

Your email address will not be published. Required fields are marked *

Name *

Email *

Website

2  −   = 

Cara menggunakan mysql collation case sensitive
Cara menggunakan mysql collation case sensitive

atau dapat ditampilkan menggunakan perintah SQL berikut:

mysql> show collation;

jika ingin menampilkan collation khusus untuk character set

mysql> show collation WHERE Collation LIKE "utf8%";
0, dapat menggunakan perintah:

mysql> show collation WHERE Collation LIKE "utf8%";

contoh output yang dihasilkan adalah (hanya sebagian kecil):

+--------------------------+----------+-----+---------+----------+---------+
| Collation                | Charset  | Id  | Default | Compiled | Sortlen |
+--------------------------+----------+-----+---------+----------+---------+
| utf8_general_ci          | utf8     |  33 | Yes     | Yes      |       1 |
| utf8_bin                 | utf8     |  83 |         | Yes      |       1 |
| utf8_unicode_ci          | utf8     | 192 |         | Yes      |       8 |
| utf8_icelandic_ci        | utf8     | 193 |         | Yes      |       8 |
| utf8_latvian_ci          | utf8     | 194 |         | Yes      |       8 |
| utf8_romanian_ci         | utf8     | 195 |         | Yes      |       8 |
| utf8_slovenian_ci        | utf8     | 196 |         | Yes      |       8 |
| utf8_polish_ci           | utf8     | 197 |         | Yes      |       8 |
| utf8_estonian_ci         | utf8     | 198 |         | Yes      |       8 |
| utf8_spanish_ci          | utf8     | 199 |         | Yes      |       8 |
| utf8_swedish_ci          | utf8     | 200 |         | Yes      |       8 |
+--------------------------+----------+-----+---------+----------+---------+

Perhatikan bahwa dua karakter terakhir pada kolom collation adalah

mysql> show collation WHERE Collation LIKE "utf8%";
1,
mysql> show collation WHERE Collation LIKE "utf8%";
2, atau
mysql> show collation WHERE Collation LIKE "utf8%";
3 (tidak terlihat).

mysql> show collation WHERE Collation LIKE "utf8%";
1 berarti case in-sensitive dimana perbandingan karakter tidak memperhatikan huruf besar dan kecil (a sama dengan A),
mysql> show collation WHERE Collation LIKE "utf8%";
3 adalah case sensitive (a tidak sama dengan A), sedangkan
mysql> show collation WHERE Collation LIKE "utf8%";
2 adalah: membandingkan nilai binary dari karakter (01100001 untuk a).

Sedangkan nama di depannya (seperti: general, unicode, latvian) merupakan “rule” yang digunakan untuk melakukan pembandingan.

Sehingga

mysql> show collation WHERE Collation LIKE "utf8%";
7 berarti: (1) character set yang digunakan adalah utf8, (2) rule yang digunakan adalah unicode, dan (3) mode perbandingannya case in-sensitive.

Nilai “Yes” pada kolom Default (pada contoh diatas

mysql> show collation WHERE Collation LIKE "utf8%";
8) berarti collation tersebut akan digunakan ketika pembuatan Database/Tabel/Field yang tidak mendefinisikan jenis collation.

Pendefinisian Character set dan Collation pada MySQL

Pada MySQL, Collation dan Character set pertama kali didefinisikan ketika kita membuat Filed, Tabel, atau Database, berikut ini contoh pilihan collation ketika membuat tabel pada pada phpMyAdmin:

Cara menggunakan mysql collation case sensitive
Cara menggunakan mysql collation case sensitive

pada phpMyAdmin, pilihan collation akan otomatis menentukan character set yang digunakan, misal: collation

mysql> show collation WHERE Collation LIKE "utf8%";
9 akan otomatis menggunakan character set
+--------------------------+----------+-----+---------+----------+---------+
| Collation                | Charset  | Id  | Default | Compiled | Sortlen |
+--------------------------+----------+-----+---------+----------+---------+
| utf8_general_ci          | utf8     |  33 | Yes     | Yes      |       1 |
| utf8_bin                 | utf8     |  83 |         | Yes      |       1 |
| utf8_unicode_ci          | utf8     | 192 |         | Yes      |       8 |
| utf8_icelandic_ci        | utf8     | 193 |         | Yes      |       8 |
| utf8_latvian_ci          | utf8     | 194 |         | Yes      |       8 |
| utf8_romanian_ci         | utf8     | 195 |         | Yes      |       8 |
| utf8_slovenian_ci        | utf8     | 196 |         | Yes      |       8 |
| utf8_polish_ci           | utf8     | 197 |         | Yes      |       8 |
| utf8_estonian_ci         | utf8     | 198 |         | Yes      |       8 |
| utf8_spanish_ci          | utf8     | 199 |         | Yes      |       8 |
| utf8_swedish_ci          | utf8     | 200 |         | Yes      |       8 |
+--------------------------+----------+-----+---------+----------+---------+
0, karena sesuai namanya, collation
mysql> show collation WHERE Collation LIKE "utf8%";
9 ditujuan untuk character set
+--------------------------+----------+-----+---------+----------+---------+
| Collation                | Charset  | Id  | Default | Compiled | Sortlen |
+--------------------------+----------+-----+---------+----------+---------+
| utf8_general_ci          | utf8     |  33 | Yes     | Yes      |       1 |
| utf8_bin                 | utf8     |  83 |         | Yes      |       1 |
| utf8_unicode_ci          | utf8     | 192 |         | Yes      |       8 |
| utf8_icelandic_ci        | utf8     | 193 |         | Yes      |       8 |
| utf8_latvian_ci          | utf8     | 194 |         | Yes      |       8 |
| utf8_romanian_ci         | utf8     | 195 |         | Yes      |       8 |
| utf8_slovenian_ci        | utf8     | 196 |         | Yes      |       8 |
| utf8_polish_ci           | utf8     | 197 |         | Yes      |       8 |
| utf8_estonian_ci         | utf8     | 198 |         | Yes      |       8 |
| utf8_spanish_ci          | utf8     | 199 |         | Yes      |       8 |
| utf8_swedish_ci          | utf8     | 200 |         | Yes      |       8 |
+--------------------------+----------+-----+---------+----------+---------+
0.

phpMyAdmin melakukan demikian karena kita tidak bisa menggunakan collation pada character set yang berbeda, misal collation

mysql> show collation WHERE Collation LIKE "utf8%";
9 dengan character set
mysql> show collation WHERE Collation LIKE "utf8%";
0 seperti ini:

CREATE TABLE `mahasiswa` (
  `id` int(11) NOT NULL,
  `no_induk` char(9) NOT NULL,
  `nama` varchar(255) NOT NULL,
  `kd_jurusan` char(3) NOT NULL
) ENGINE=InnoDB CHARSET=utf8 COLLATE=latin1_swedish_ci

Bagaimana jika character set dan collation tidak didefinisikan?

Penentuan character set pada MySQL dilakukan secara berjenjang (inherit) mulai dari Field -> Tabel -> Database -> Server.

Sehingga ketika kita membuat Database/Tabel/Field dan tidak menentukan jenis character set nya, maka jenis character set tersebut akan diambilkan dari jenjang atasnya.

Contoh: kita memilki database universitas dengan character set

mysql> show collation WHERE Collation LIKE "utf8%";
0, kemudian kita akan membuat tabel mahasiswa tanpa mendefinisikan collation.

Dengan phpMyAdmin:

Cara menggunakan mysql collation case sensitive
Cara menggunakan mysql collation case sensitive

Dengan query:

CREATE TABLE `mahasiswa` (
  `id` int(11) NOT NULL,
  `id_dosen` char(9) NOT NULL,
  `nama_dosen` varchar(255) NOT NULL,
  `kd_matkul` char(3) NOT NULL
) ENGINE=InnoDB

Ketika query dijalankan, secara otomatis character set yang digunakan baik pada tabel maupun field adalah

mysql> show collation WHERE Collation LIKE "utf8%";
0, inherit dari database universitas, sedangkan collation yang digunakan adalah 
+--------------------------+----------+-----+---------+----------+---------+
| Collation                | Charset  | Id  | Default | Compiled | Sortlen |
+--------------------------+----------+-----+---------+----------+---------+
| utf8_general_ci          | utf8     |  33 | Yes     | Yes      |       1 |
| utf8_bin                 | utf8     |  83 |         | Yes      |       1 |
| utf8_unicode_ci          | utf8     | 192 |         | Yes      |       8 |
| utf8_icelandic_ci        | utf8     | 193 |         | Yes      |       8 |
| utf8_latvian_ci          | utf8     | 194 |         | Yes      |       8 |
| utf8_romanian_ci         | utf8     | 195 |         | Yes      |       8 |
| utf8_slovenian_ci        | utf8     | 196 |         | Yes      |       8 |
| utf8_polish_ci           | utf8     | 197 |         | Yes      |       8 |
| utf8_estonian_ci         | utf8     | 198 |         | Yes      |       8 |
| utf8_spanish_ci          | utf8     | 199 |         | Yes      |       8 |
| utf8_swedish_ci          | utf8     | 200 |         | Yes      |       8 |
+--------------------------+----------+-----+---------+----------+---------+
7, karena collation ini merupakan collation default untuk character set
mysql> show collation WHERE Collation LIKE "utf8%";
0 sebagaimana telah kita bahas sebelumnya.

Cara menggunakan mysql collation case sensitive
Cara menggunakan mysql collation case sensitive

Ketika menjalankan query, bagaimana MySQL tahu Collation yang digunakan?

Ketika menjalankan query, MySQL akan mencari collation secara berjenjang dan urut mulai dari:

  1. Perintah SQL. Pertama kali MySQL akan mencari pendefinisian collation pada perintah SQL, misal:
    SELECT nama, alamat, mo_tlp
    FROM identitas
    ORDER BY nama COLLATE utf8_general_ci
  2. Kolom / Field. Jika tidak ditemukan pada perintah SQL, maka MySQL akan mencari pendefinisian Collation pada Kolom/Field yang ditargetkan.

    Cara menggunakan mysql collation case sensitive
    Cara menggunakan mysql collation case sensitive

  3. Tabel. Jika pada Field tidak ditemukan, maka MySQL akan mencarinya pada tabel dimana target field berada.

    Cara menggunakan mysql collation case sensitive
    Cara menggunakan mysql collation case sensitive

  4. Database. Jika tidak ditemukan juga, maka MySQL akan mencarinya di Database dimana field tersebut berada.

    Cara menggunakan mysql collation case sensitive
    Cara menggunakan mysql collation case sensitive

  5. Server. Dan terakhir, MySQL akan mencarinya di konfigurasi  server yang secara default disimpan pada file my.ini.

    Cara menggunakan mysql collation case sensitive
    Cara menggunakan mysql collation case sensitive

5. Lebih jauh tentang latin1_swedish_ci

Untuk lebih memahami Character set dan Collation pada MySQL, mari kita bahas salah satu collation yang sering kita jumpai yaitu latin1_swedish_ci yang merupakan default collation pada MySQL (s.d MySQL versi 5.7, mulai versi 8, MySQL menggunakan utf8mb4 sebagai default characterset) .

Character set pada latin1_sedish_ci

Pada collation latin1_swedish_ci character set yang digunakan adalah

+--------------------------+----------+-----+---------+----------+---------+
| Collation                | Charset  | Id  | Default | Compiled | Sortlen |
+--------------------------+----------+-----+---------+----------+---------+
| utf8_general_ci          | utf8     |  33 | Yes     | Yes      |       1 |
| utf8_bin                 | utf8     |  83 |         | Yes      |       1 |
| utf8_unicode_ci          | utf8     | 192 |         | Yes      |       8 |
| utf8_icelandic_ci        | utf8     | 193 |         | Yes      |       8 |
| utf8_latvian_ci          | utf8     | 194 |         | Yes      |       8 |
| utf8_romanian_ci         | utf8     | 195 |         | Yes      |       8 |
| utf8_slovenian_ci        | utf8     | 196 |         | Yes      |       8 |
| utf8_polish_ci           | utf8     | 197 |         | Yes      |       8 |
| utf8_estonian_ci         | utf8     | 198 |         | Yes      |       8 |
| utf8_spanish_ci          | utf8     | 199 |         | Yes      |       8 |
| utf8_swedish_ci          | utf8     | 200 |         | Yes      |       8 |
+--------------------------+----------+-----+---------+----------+---------+
0 yang memiliki ukuran 8-bit atau 1 byte per character, misal kita menyimpan kata Fulan, maka akan memakan ruang 5 byte pada hardisk + 1 byte untuk identifikasi character length oleh MySQL.

Karakter yang dapat ditampung oleh character set ini sebanyak 256 yang terdiri dari karakter ANSI, seperti pada keyboard kita + karakter latin (accented character – West European) yang biasanya digunakan oleh negara Eropa, adapun karakter tersebut adalah:

Cara menggunakan mysql collation case sensitive
Cara menggunakan mysql collation case sensitive

Sumber:

Seperti contoh pada gambar diatas, character set latin1 dapat menampung karakter khusus seperti copyright ©, registered ®, kurang lebih ±, tanda bagi ÷, dll.

Jika aplikasi kita bersifat webbased, maka karakter khusus ini dapat di ganti dengan entitas HTML, misal: © untuk copyright, ® untuk registered, dll, selengkapnya dapat dilihat di: HTML 4.0 Latin-1 Entities

Collation pada latin1_sedish_ci

Dalam mengurutkan/membandingkan karakter, khususnya karakter tertentu seperti latin (accented character), masing-masing negara memiliki rule sendiri, sehingga hasil pengurutannya bisa jadi tidak sama,

Untuk collation latin1_swedish_ci, sesuai namanya, pencocokan dilakukan mengikuti rule

CREATE TABLE `mahasiswa` (
  `id` int(11) NOT NULL,
  `no_induk` char(9) NOT NULL,
  `nama` varchar(255) NOT NULL,
  `kd_jurusan` char(3) NOT NULL
) ENGINE=InnoDB CHARSET=utf8 COLLATE=latin1_swedish_ci
3 atau negara Swedia.

Sebagai contoh, misalkan kita memiliki nama berikut:

Muffler
Müller
MX Systems
MySQL

Maka ketika diurutkan, collation latin1_swedish_ci,

CREATE TABLE `mahasiswa` (
  `id` int(11) NOT NULL,
  `no_induk` char(9) NOT NULL,
  `nama` varchar(255) NOT NULL,
  `kd_jurusan` char(3) NOT NULL
) ENGINE=InnoDB CHARSET=utf8 COLLATE=latin1_swedish_ci
5, dan
CREATE TABLE `mahasiswa` (
  `id` int(11) NOT NULL,
  `no_induk` char(9) NOT NULL,
  `nama` varchar(255) NOT NULL,
  `kd_jurusan` char(3) NOT NULL
) ENGINE=InnoDB CHARSET=utf8 COLLATE=latin1_swedish_ci
6 akan menghasilkan urutan yang berbeda:

latin_swedish_cilatin_german_cilatin_german2_ciMufflerMufflerMüllerMX SystemsMüllerMufflerMüllerMX SystemsMX SystemsMySQLMySQLMySQL

Sumber: Dev MySQL

Keterangan:

CREATE TABLE `mahasiswa` (
  `id` int(11) NOT NULL,
  `no_induk` char(9) NOT NULL,
  `nama` varchar(255) NOT NULL,
  `kd_jurusan` char(3) NOT NULL
) ENGINE=InnoDB CHARSET=utf8 COLLATE=latin1_swedish_ci
5 menggunakan rule DIN-1 yang sering disebut “dictionary collation”, dimana urutan abjad berdasarkan kamus, sedangkan
CREATE TABLE `mahasiswa` (
  `id` int(11) NOT NULL,
  `no_induk` char(9) NOT NULL,
  `nama` varchar(255) NOT NULL,
  `kd_jurusan` char(3) NOT NULL
) ENGINE=InnoDB CHARSET=utf8 COLLATE=latin1_swedish_ci
8 menggunakan rule DIN-2 atau yang sering disebut “phone book collation” atau berdasarkan urutan pada buku telefon.

6. Lebih Jauh Tentang utf8 dan utf8mb4

Jika bicara tentang character set, maka tidak akan terlepas dari Utf8, character set terpopuler saat ini. Untuk itu, pada kesempatan ini, tidak ada salahnya kita juga membahas utf8 pada MySQL.

Character set utf8

Pada standar umum yang berlaku, character set utf8 mampu menampung semua jenis karakter yang ada di dunia ini, mulai dari karakter 1 byte, seperti pada latin1, hingga 4 byte seperti pada huruf Arab, China, dll

Pada MySQL, character set

mysql> show collation WHERE Collation LIKE "utf8%";
0, dengan collation defaultnya
+--------------------------+----------+-----+---------+----------+---------+
| Collation                | Charset  | Id  | Default | Compiled | Sortlen |
+--------------------------+----------+-----+---------+----------+---------+
| utf8_general_ci          | utf8     |  33 | Yes     | Yes      |       1 |
| utf8_bin                 | utf8     |  83 |         | Yes      |       1 |
| utf8_unicode_ci          | utf8     | 192 |         | Yes      |       8 |
| utf8_icelandic_ci        | utf8     | 193 |         | Yes      |       8 |
| utf8_latvian_ci          | utf8     | 194 |         | Yes      |       8 |
| utf8_romanian_ci         | utf8     | 195 |         | Yes      |       8 |
| utf8_slovenian_ci        | utf8     | 196 |         | Yes      |       8 |
| utf8_polish_ci           | utf8     | 197 |         | Yes      |       8 |
| utf8_estonian_ci         | utf8     | 198 |         | Yes      |       8 |
| utf8_spanish_ci          | utf8     | 199 |         | Yes      |       8 |
| utf8_swedish_ci          | utf8     | 200 |         | Yes      |       8 |
+--------------------------+----------+-----+---------+----------+---------+
7, hanya mampu menampung character dengan ukuran 1 s.d 3 byte dan belum dapat menampung karakter berukuran 4 byte.

Untuk penggunaan space, utf8 pada MySQL menggunakan ruang secara dinamis, untuk karakter dengan ukuran 1 byte, maka ruang yang diperlukan juga 1byte, tidak seperti utf32 yang menggunakan ruang penyimpanan 2 byte.

Character set utf8mb4

CREATE TABLE `mahasiswa` (
  `id` int(11) NOT NULL,
  `id_dosen` char(9) NOT NULL,
  `nama_dosen` varchar(255) NOT NULL,
  `kd_matkul` char(3) NOT NULL
) ENGINE=InnoDB
1  artinya utf8 multibyte 4, character set ini merupakan pengembangan dari utf8 yang telah ada sebelumya sehingga dapat menampung karakter yang  dari 1 s.d 4 byte, perlu dicatat bahwa istilah
CREATE TABLE `mahasiswa` (
  `id` int(11) NOT NULL,
  `id_dosen` char(9) NOT NULL,
  `nama_dosen` varchar(255) NOT NULL,
  `kd_matkul` char(3) NOT NULL
) ENGINE=InnoDB
1 bukanlah standar umum, istilah ini hanya digunakan oleh MySQL.

Ruang penyimpanan yang diperlukan sama dengan utf8 yaitu sesuai dengan ukuran karakter, karakter 1 byte akan membutuhkan ruang penyimpanan 1 byte.

Mana yang sebaiknya dipilih? utf8 atau utf8mb4

Dari penjelasan diatas, maka dapat disimpulkan bahwa 

CREATE TABLE `mahasiswa` (
  `id` int(11) NOT NULL,
  `id_dosen` char(9) NOT NULL,
  `nama_dosen` varchar(255) NOT NULL,
  `kd_matkul` char(3) NOT NULL
) ENGINE=InnoDB
1 lebih baik karena mampu mengakomodir semua character yang ada pada standar
mysql> show collation WHERE Collation LIKE "utf8%";
0, sehingga jika harus menggunakan character yang ada pada pada utf8, maka lebih baik menggunakan  character set utf8mb4.

7. Jadi Character set mana yang harus dipilih?

Setelah mempelajari character set dan collation, character set mana yang harus dipilih? Untuk menentukan Character Set dan Collation pada MySQL, beberapa hal yang harus dipertimbangkan:

Perfomance

Fixed – length encoding (Character set dengan ukuran byte tetap, seperti ASCII atau latin)  akan lebih efisien dan cepat dalam pengolahan data dibanding variable – length encoding (seperti: utf8 , utf8mb4, utf32, dst…).

Hal ini terjadi pada kondisi:

  1. Ketika melakukan pembandingan karakter seperti pada klausul WHERE.
  2. Ketika mengurutkan data seperti pada klausul ORDER BY
  3. Ketika melakukan pengolahan string seperti SUBSTRING(), LEFT(), TRIM(), dll

Disamping itu, ketika melakukan join table dan character set yang digunakan berbeda, misal latin1 dan utf8, maka MySQL akan mengkonversi salah satunya, yang akibatnya index dari tabel tersebut TIDAK dapat digunakan.

Artinya, tanpa index, proses sorting tabel akan memakan waktu lebih lama.

Space

Baik Fixed-length encoding maupun variable-length encoding (dalam hal ini latin dan utf8) menggunakan space yang sama, misal untuk karakter a-z, A-Z, 0-9 sama-sama membutuhkan ruang 1 byte per karakter.

Namun, ketika Ketika MySQL membuat temporary tabel, misal: ketika melakukan subquery atau join, maka pada Memory (RAM), MySQL akan mengalokasikan space sebesar byte maksimal yang dapat ditampung oleh character set.

Sehingga misal: untuk kolom CHAR(10), MySQL akan mengalokasikan 10 byte untuk character set latin1 dan 30 byte untuk utf8, hal tersebut karena jumlah maksimal byte yang dapat ditampung oleh utf8 adalah 3 byte.

Sehingga…

Sehingga, hanya gunakan character set seminimal mungkin sesuai kebutuhan, Misal: ketika membuat aplikasi / web berbahasa tertentu, maka gunakan character set untuk bahasa tersebut yang sifatnya fixed-length.

Misal untuk web berbahasa Indonesia, cukup menggunakan character set latin1 atau ASCII, sedangkan untuk khusus berbahasa arab maka cukup menggunakan CP1256.

Namun, jika sobat membuat web berbahasa Inggris dan memungkinkan pengunjung dari berbagai negara, misal: Arab, China, Jerman, dll untuk mendaftar, atau jika kita ingin aplikasi kita dapat menyimpan icon emoji seperti: 😀 maka UTF8mb4 cocok untuk digunakan.

List lengkap emoji dapat dilihat di: Full Emoji List, V11.0

Jika aplikasi kita bersifat web based, emoji tersebut dapat diganti dengan hexadecima atau decimal character seperti: 😀 untuk smiling face, list lengkapnya dapat dilihat di &what: Discover Unicode & HTML Character Entities, sehingga masih bisa menggunakan character set Latin1

Closing

Terdapat banyak sekali pilihan character set dan collation pada MySQL, semua itu dibuat bukan tanpa tujuan, untuk itu, selalu gunakan character set dan collation yang sesuai dengan kondisi dan kebutuhan, sehingga dapat meningkatkan perfomance database.

Penting untuk mempelajari character set, karena akan selalu dan selalu bermanfaat untuk pengembangan aplikasi, jika sobat ingin mempelajari lebih lanjut tentang character set, sobat dapat membaca artikel: Memahami Character Set dan Character Encoding

Demikian tutorial mengenai character set dan collation pada MySQL, semoga bermanfaat.

Subscibe Now

Suka dengan artikel di Jagowebdev.com? jangan sampai ketinggalan, segera join ke milis kami untuk update informasi terbaru dari Jagowebdev.com

Komitmen Kami: Kami senantiasa menghargai privasi Anda dan tidak akan membagikan identitas Anda ke pihak manapun.