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

MySQL melempar kesalahan nilai string yang salah

Karakter di akhir tweet yang menyebabkan masalah.

Ini terlihat seperti karakter 'emoji' alias wajah tersenyum Jepang, tetapi tidak ditampilkan untuk saya di Chrome atau Safari.

Ada masalah yang diketahui menyimpan karakter utf 4byte di beberapa versi MySQL. Rupanya Anda harus menggunakan utf8mb4 untuk mewakili 4 byte karakter UTF, karena set karakter utf8 normal hanya dapat mewakili karakter dengan panjang hingga 3 byte sehingga tidak dapat menyimpan karakter yang berada di luar Pesawat Multibahasa Dasar

http://dev.mysql.com/doc /refman/5.5/en/charset-unicode-utf8mb4.html

Yang merupakan berita bagi saya karena pada dasarnya berarti bahwa tipe data utf8 di MySQL tidak benar-benar utf8.

Ada saran tentang cara menangani ini di siniBagaimana cara memasukkan karakter utf-8 mb4 (emoji di ios5) di mysql? termasuk:

"Pastikan juga lapisan aplikasi Anda menyetel karakter koneksi basis datanya ke utf8mb4. Periksa kembali apakah ini benar-benar terjadi – jika Anda menjalankan versi lama dari pustaka klien mysql kerangka kerja pilihan Anda, mungkin belum dikompilasi dengan dukungan utf8mb4 dan itu tidak akan mengatur rangkaian karakter dengan benar. Jika tidak, Anda mungkin harus memperbaruinya atau mengompilasinya sendiri"

Jika Anda menggunakan Connector/J, Anda perlu mengatur character_set_server=utf8mb4 di konfigurasi koneksi.

Semua set karakter Anda harus utf8mb4, yang mungkin telah Anda coba tetapi saat ini belum disetel.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL:Gunakan nilai CASE/ELSE sebagai parameter gabungan

  2. Jalankan beberapa kueri menggunakan objek Pernyataan JDBC tunggal

  3. Mengunggah gambar ke Server Jarak Jauh, iPhone

  4. Menjalankan Jumlah untuk Beberapa Kategori di MySQL

  5. Wizard impor data meja kerja MySQL sangat lambat