java.sql.SQLException: Inconnu caractère initial index du jeu de '255' reçue du serveur pour connecteur 8.0.11
Tout en établissant une connexion à une base de données MySQL, j'obtiens l'erreur suivante
java.sql.SQLException: Unknown initial character set index '255' received from
server. Initial client character set can be forced via the 'characterEncoding'
property.
Sur google, je suis arrivé à savoir que nous avons besoin de modifier 2 paramètres dans mon.ini ou my.cnf.
Je suis en utilisant la version de MySQL 8.0.11 et il n'a pas ce fichier.
Donc j'ai modifié ces paramètres en utilisant les commandes SQL:
Veuillez noter le nom et la durée de nom de colonne dans la table.
ALTER TABLE courses MODIFY name VARCHAR(50) COLLATE utf8_unicode_ci;
ALTER TABLE courses MODIFY duration VARCHAR(50) COLLATE utf8_unicode_ci;
ALTER TABLE courses MODIFY name VARCHAR(50) CHARACTER SET utf8;
ALTER TABLE courses MODIFY duration VARCHAR(50) CHARACTER SET utf8;
D'où ma table ressemble à ce
Après cela, j'ai redémarré le serveur MySQL, mais je suis encore en train d'erreur ci-dessus.
Veuillez noter que je suis le déploiement de mon application dans tomcat et l'exécution de l'API rest d'appel qui va se connecter à la base de données. Lors de la connexion à la base de données, j'obtiens l'erreur ci-dessus.
- Êtes-vous sûr d'utiliser Connector/J 8.0.11. Ce n'
connection.getMetaData().getDriverVersion()
retour? - Notez que la modification du jeu de caractères d'une colonne spécifique ne va pas changer les choses pour la connexion du jeu de caractères. Exactement ce qui deux paramètres avez-vous trouvez que vous avez besoin de changer dans votre config MySQL? Et avez-vous essayé la spécification de la
characterEncoding
propriété de connexion comme indiqué dans le message d'erreur?
Vous devez vous connecter pour publier un commentaire.
À l'aide de MySQLWorkbench interface:
Cliquez d'abord dans votre connexion ->
Après cliquez sur dans le Fichier d'Options
Et changer de jeu de caractères du serveur principal et de classement de serveur valeurs pour les valeurs ci-dessous:
Assurez-vous de redémarrer le serveur mysql par l'ouverture de services et de redémarrer le serveur mysql.
Sons comme vous avez besoin de télécharger la dernière connecteur j jar:
http://chillyfacts.com/java-sql-sqlexception-unknown-initial-character-set-index-224-received-server/
Avec la version 8 par défaut characterset changé. Lorsque vous ajoutez votre jeu de caractères de l'URL de connexion comme ?characterEncoding=latin1 cela pourrait fonctionner.
c'est à cause de mysql-connector version , i,e. My-sql installer la version et de la dépendance version ne correspond pas.
utiliser la même version pour myS
Ajouter connecteur de dépendance fichier jar dans le POM du fichier après un recoupement avec votre serveur MySql version 8.0.x ajouter cette dépendance, il a travaillé pour moi mysqlmysql-connector-java 8.0.11
Utiliser la même version de MySQL ainsi que mysql-connector.
Si vous utilisez tomcat puis maintenez le connecteur dans le dossier lib de tomcat.
Vous pouvez ajouter
?characterEncoding=latin1"
après votre Chaîne d'url comme cecipar exemple:
Cela pourrait fonctionner.
Je suis en utilisant
springboot
,liquibase
,mysql
J'ai la solution:
Cette erreur se produisent seulement en raison de mysql connector dans la dépendance et mysql serveur que vous installez correspond pas(dans mon cas, je suis en utilisant une version de mysql connector et dernière serveur mysql). Donc il suffit de changer la portée de mysql connector pour
runtime
:maven
gradle
Ou si le problème mais pas le résoudre, puis utiliser la même version ou une version proche de la version de mysql server et mysql connector.