Sebelum MySQL 8.0.19, masalah yang Anda hadapi tidak ada. binary-as-hex
opsi klien diaktifkan secara default dari MySQL 8.0.19.
Jalankan status
atau \s
di MySQL. Anda akan melihat baris tentang data biner. Jika disebutkan sebagai heksadesimal, output dari fungsi seperti CHAR()
dan UNHEX()
akan ditampilkan sebagai heksadesimal, bukan teks biasa.
Untuk menghindari ini, Anda dapat menggunakan klausa USING charset dari CHAR()
.
mysql> SELECT CHAR(97);
+--------------------+
| CHAR(97) |
+--------------------+
| 0x61 |
+--------------------+
1 row in set (0.00 sec)
mysql> SELECT CHAR(97 USING utf8mb4);
+------------------------+
| CHAR(97 USING utf8mb4) |
+------------------------+
| a |
+------------------------+
1 row in set (0.00 sec)
Atau, Anda dapat menggunakan --skip-binary-as-hex
. Langkah-langkah yang harus diikuti di Windows adalah:
-
Buka Prompt Perintah.
-
Ubah direktori. Dalam kasus saya perintahnya adalah:
cd "C:\Program Files\MySQL\MySQL Server 8.0\bin"
-
Jalankan
mysql -u root -p --skip-binary-as-hex
-
Masukkan kata sandi.
-
Sekarang, output dari
CHAR()
fungsinya akan seperti yang Anda harapkan.
Catatan :--skip-binary-as-hex
metode berfungsi sampai Anda keluar dari MySQL. Anda perlu menggunakan --skip-binary-as-hex
setiap kali Anda membuka MySQL sehingga nilai heksadesimal tidak akan ditampilkan.
Anda dapat merujuk tautan ini untuk informasi lebih lanjut:
- https://dev.mysql. com/doc/refman/8.0/en/string-functions.html#function_char
- https://dev.mysql.com/doc/refman/8.0/en/mysql-command-options.html#option_mysql_binary-as-hex