Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Nieprawidłowa wartość ciągu podczas próby wstawienia UTF-8 do MySQL za pośrednictwem JDBC?

utf8 MySQL zezwala tylko na znaki Unicode, które mogą być reprezentowane przez 3 bajty w UTF-8. Tutaj masz znak, który potrzebuje 4 bajtów:\xF0\x90\x8D\x83 (U+10343 GOTYCKI LITEROWY SAWIL ).

Jeśli masz MySQL 5.5 lub nowszy, możesz zmienić kodowanie kolumn z utf8 do utf8mb4 . To kodowanie umożliwia przechowywanie znaków zajmujących 4 bajty w UTF-8.

Może być również konieczne ustawienie właściwości serwera character_set_server do utf8mb4 w pliku konfiguracyjnym MySQL. Wygląda na to, że złącze/J domyślnie ma wartość 3 -byte Unicode inaczej :

Na przykład, aby użyć 4-bajtowych zestawów znaków UTF-8 ze złączem Connector/J, skonfiguruj serwer MySQL za pomocą character_set_server=utf8mb4 i pozostaw characterEncoding z ciągu połączenia łącznika/J. Connector/J automatycznie wykryje ustawienie UTF-8.



  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 wstawia losową datę i godzinę w podanym zakresie dat

  2. Używanie Pythona i MySQL w procesie ETL

  3. MySQL 1062 - Zduplikowany wpis '0' dla klucza 'PRIMARY'

  4. Wydajność MySQL:identyfikacja długich zapytań

  5. Przykłady instrukcji JDBC — wstaw, usuń, zaktualizuj, wybierz rekord