2017-09-07 4 views
0

J'ai un problème d'insertion d'un texte pdf dans une table mysql. Le message d'erreur est le suivant: "Valeur de chaîne incorrecte: '\ xF0 \ x9D \ x9B \ xBC i ...' pour la colonne 'texte' à la ligne 1"Java MySQL Encodage problème avec UTF-8

Je sais que ce code se réfère à la lettre grecque alpha. Cependant, j'ai mis 'characer set' à UTF-8 pour le texte de la colonne mais aussi dans la connexion mysql. En outre, j'ai essayé uft8mb4. Cependant, rien de tout cela n'a fonctionné.

La lettre grecque alpha apparaît dans différents types de polices. Je ne suis pas sûr que cela compte.

Des idées pour lesquelles cela ne fonctionne pas?

J'ai également créé un fichier pdf moi-même qui contenait un alpha dans le texte. Pour cet exemple, mon programme s'exécute sans aucune erreur. Bien que je sache que le message d'erreur se réfère à l'alpha, il semble y avoir un problème supplémentaire.

Merci d'avance! Après une vérification, j'ai trouvé que certains symboles vraiment étranges ont été créés à partir d'une formule qui contenait la lettre grecque alpha. Donc, apparemment, ces symboles inconnus ont conduit à l'erreur. Cependant, je ne sais toujours pas comment exclure des symboles inconnus du texte. Quelle est la manière la plus simple de faire ça?

Ce sont les symboles: unknown symbols

+0

utiliser les types de données BLOB MySQL –

+0

et assurez-vous connnect avec le UTF8 charset .. https://stackoverflow.com/questions/3275524/java-mysql-utf8-problem –

+0

Je n'ai plus d'erreur. Cependant, il semble qu'il n'y ait aucune donnée de texte dans cet enregistrement de table de type blob. J'ai également essayé de le convertir using la CONVERSION de CHOIX (texte UTILISANT utf8) DE la table; mais il semble n'y avoir aucune information stockée dans cet enregistrement. (c'est une entrée nulle) – Rnewbie

Répondre

0

Je restreint la chaîne en Java pour que l'alphabet latin. peut-être que ce n'est pas la façon la plus générale de se débarrasser de ces symboles étranges, mais cela fonctionne pour l'instant.

0

Dans MySQL, utilisez CHARACTER SET utf8mb4.

Ajouter ?useUnicode=yes&characterEncoding=UTF-8 à l'URL JDBC