Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Diperkenalkan kembali kesalahan indeks set karakter awal yang tidak diketahui?

Ini berbicara tentang perubahan yang telah terjadi sejak 8.0Salah satu poin yang telah terdaftar untuk Anda rujuk adalah ini:

Akibatnya, kumpulan karakter default dan susunan untuk objek baru berbeda dari sebelumnya kecuali kumpulan karakter eksplisit dan susunan ditentukan. Ini termasuk database dan objek di dalamnya, seperti tabel, tampilan, dan program yang disimpan.

Salah satu cara untuk mempertahankan default sebelumnya adalah memulai server dengan baris ini di my.cnf berkas:

[mysqld]
character_set_server=latin1
collation_server=latin1_swedish_ci

Opsi lain, karena Anda menjalankan buruh pelabuhan, adalah menentukan opsi konfigurasi ini sebagai argumen baris perintah ke perintah menjalankan buruh pelabuhan. Misalnya:

docker run -d \
--network my-net \
-h mysqldb \
--name mysqldb \
-p 3306:3306 \
-e MYSQL_RANDOM_ROOT_PASSWORD=yes \
-e MYSQL_DATABASE=mydb \
-e MYSQL_USER=admin \
-e "MYSQL_PASSWORD=admin" \
mysql:8 --character-set-server=latin1 --collation-server=latin1_swedish_ci

Di klien, jika Anda ingin membuat perubahan - semoga ini cukup:

Untuk menggunakan set karakter UTF-8 4-byte dengan Connector/J, konfigurasikan server MySQL dengan character_set_server=utf8mb4 , dan tinggalkan characterEncoding keluar dari string koneksi Connector/J.

Connector/J kemudian akan otomatis mendeteksi UTF-8 pengaturan

Semoga ini bisa membantu!




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Apakah MySQL mengindeks nilai NULL?

  2. Cara Membuat Database di MySQL

  3. SQL:Membuat tabel relasi dengan 2 peningkatan otomatis yang berbeda

  4. ALTER TABLE tabel AUTO_INCREMENT =$x

  5. Butuh bantuan untuk unpivot di mysql dengan beberapa kolom tanggal