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

Halaman Server Java - pemeriksaan saat memasukkan ke MySql?

Tanda tanya muncul dari ini:

  • Klien memiliki karakter yang valid (baik), dan
  • SET NAMES setuju dengan pengkodean yang dimiliki klien (baik), tetapi
  • CHARACTER SET kolom target tidak termasuk karakter yang dimaksud (buruk).

Contoh:

  • latin1 hanya menangani karakter Eropa Barat; mencoba memasukkan karakter Eropa Timur atau karakter Asia lainnya tidak akan cocok.
  • latin2 dan cp1250 dapat menangani bahasa Ceko, jadi konversi di antara keduanya sebagian besar OK, tetapi tidak di antara keduanya dan latin1
  • utf8mb4 adalah superset dari utf8 .Menempatkan karakter utf8 ke dalam utf8mb4 boleh saja, tetapi kebalikannya akan menghasilkan '?' dalam beberapa kasus.

Karakter yang diubah menjadi '?' tidak dapat dipulihkan dari tabel.

Cara memperbaiki INSERTs di masa mendatang ?

  • Menggunakan utf8mb4 pada kolom tabel mungkin berfungsi di semua kasus.
  • Jika tidak, pilih beberapa CHARACTER SET untuk kolom tabel yang cukup cocok dengan data klien.

Alasan hanya beberapa karakter yang menjadi ? (dalam š?ž?? ) karena šž ada di latin1 tapi yang lain tidak.

Intinya:Ubah CHARACTER SET dalam definisi tabel.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Alat yang bagus untuk memvisualisasikan skema basis data?

  2. Tips Berguna untuk Memecahkan Kesalahan Umum di MySQL

  3. Masukkan teks persia di tabel mysql

  4. Bagaimana Anda membuat pernyataan yang disiapkan dengan permata mysql2?

  5. Cara menggunakan kunci asing dengan PHP