sql >> Databáze >  >> RDS >> Mysql

problém s utf8 v java

Podle dokumentace ovladače MySQL JDBC musíte také nastavit kódování znaků v adrese URL připojení JDBC. Zde je příklad:

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

Jinak ovladač MySQL JDBC použije výchozí kódování platformy k převodu znaků na bajty před odesláním přes síť, což ve vašem případě zjevně není UTF-8. Všechny nezakryté znaky pak budou nahrazeny otazníky.

Při načítání dat se také musíte ujistit, že konzola/soubor, do kterého zobrazujete/zapisujete znaky, také podporuje/používá UTF-8. Jinak se z nich také stanou otazníky. Jak to opravit závisí na tom, jak/kde tyto znaky zobrazujete/zapisujete.

Viz také:

Mimochodem, nepotřebujete SET NAMES dotaz zde.




  1. onCreate() z RoomDatabase.Callback() nebylo voláno po úspěšném volání .build()

  2. Kdy je čas upgradovat na SQL?

  3. Nainstalujte icu4c verze 63 s Homebrew

  4. Jak přidat konkrétní počet prázdných řádků do sqlite?