sql >> Database teknologi >  >> RDS >> Mysql

problem med utf8 i java

I henhold til MySQL JDBC-driverdokumentation a> du skal også indstille tegnkodningen i JDBC-forbindelsens URL. Her er et eksempel:

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

Ellers vil MySQL JDBC-driveren bruge platformens standardkodning til at konvertere tegnene til bytes, før de sendes over netværket, hvilket i dit tilfælde tilsyneladende ikke er UTF-8. Alle udækkede tegn vil derefter blive erstattet af spørgsmålstegn.

Når du henter dataene, skal du også sikre, at konsollen/filen, hvor du viser/skriver tegnene til, også understøtter/bruger UTF-8. Ellers bliver de også spørgsmålstegn. Hvordan man løser det afhænger af, hvordan/hvor du viser/skriver disse tegn til.

Se også:

I øvrigt behøver du ikke SET NAMES spørg her.




  1. Hvordan forsinker jeg kolonner i MySQL?

  2. Gå med SQL Server-driveren kan ikke oprette forbindelse, login mislykkes

  3. Sådan automatiseres SQL-databasevedligeholdelsesopgaver ved hjælp af SQLCMD

  4. MySQL oprette tid og opdatere tidsstempel