Il est similaire à un mémo que le caractère double octet acquis était déformé et a été résolu après avoir vérifié diverses choses.
Données obtenues à l'aide du client Http de Java J'essaie de me connecter à MySQL en utilisant le pilote JDBC et de le mettre dans la base de données.
Avez-vous lancé le sort habituel lorsque vous avez créé la table? Les sorts habituels sont:
set character_set_client = utf8;
set character_set_connection = utf8;
CREATE TABLE `TABLE_NAME` (
(Abréviation)
) DEFAULT CHARSET=utf8';
Le but est de lancer le sort avant de lancer le SQL, Si vous êtes inquiet, lancez le sort à la fin de l'instruction CREATE TABLE.
Lancez-vous un sort lors de la création d'une requête avec HttpClient?
HttpClient client = HttpClient.newBuilder().version(Version.HTTP_2).build();
Builder requestBuilder = HttpRequest.newBuilder().uri(uri).setHeader("Content-type","application/json; charset=UTF-8");
HttpRequest request = requestBuilder.build();
Le charset = UTF-8
derrière setHeader est le sort.
Lancez-vous un sort dans les informations des paramètres du pilote JDBC?
dbconnection.properties
driver.class.name=com.mysql.jdbc.Driver
uri=jdbc:mysql://mysql.test.com/mydb?useUnicode=true&characterEncoding=utf8
Le «mysql.test.com» ci-dessus est la destination de la connexion et «mydb» est le nom de la base de données.
Notez le suivant ? UseUnicode = true & characterEncoding = utf8
.
Je lance un sort.
Dans mon cas, that résolu. J'ai implémenté quelque chose de similaire dans exactement le même environnement, mais à ce moment-là, les personnages n'étaient pas déformés ...
Recommended Posts