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

problem z utf8 w java

Zgodnie z dokumentacją sterownika MySQL JDBC musisz również ustawić kodowanie znaków w adresie URL połączenia JDBC. Oto przykład:

jdbc:mysql://localhost:3306/db_name?useUnicode=yes&characterEncoding=UTF-8

W przeciwnym razie sterownik MySQL JDBC użyje domyślnego kodowania platformy, aby przekonwertować znaki na bajty przed wysłaniem przez sieć, co w twoim przypadku najwyraźniej nie jest UTF-8. Wszystkie odkryte postacie zostaną następnie zastąpione znakami zapytania.

Ponadto, podczas pobierania danych, musisz upewnić się, że konsola/plik, w którym wyświetlasz/piszesz znaki również obsługuje/używa UTF-8. W przeciwnym razie staną się również znakami zapytania. Jak to naprawić, zależy od tego, jak/gdzie wyświetlasz/piszesz te znaki.

Zobacz też:

Przy okazji, nie potrzebujesz SET NAMES zapytanie tutaj.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Utwórz pojedynczą tabelę w mysql tylko do odczytu

  2. Mysql Utwórz bazę danych ze znakami specjalnymi w nazwie

  3. MySQL:SyntaxError:Nieoczekiwany identyfikator

  4. Jak przekonwertować czas MySQL

  5. emulacja funkcji substring_index() MySQL w PGSQL