During attempt to create HibernateSession application fails with exception:
Caused by: java.sql.SQLException: Unknown initial character set index
‘255’ received from server. Initial client character set can be forced
via the ‘characterEncoding’ property. at
com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1055) at
com.mysql.jdbc.SQLError.createSQLException(SQLError.java:956) at
com.mysql.jdbc.SQLError.createSQLException(SQLError.java:926)
I found one possible solution here but unfortunately I do not have access to DB server thus I cannot change its configuration.
Answer
1
Some further investigation showed that the issue was exactly in changes which were done in MySQL v.8.0:
Character Set Support
Important Change: The default character set has changed from latin1 to utf8mb4.
These system variables are affected:
The default value of the character_set_server and character_set_database system variables has changed from latin1 to utf8mb4.
The default value of the collation_server and collation_database system variables has changed from latin1_swedish_ci to utf8mb4_0900_ai_ci.
All these change were already processed in new version of mysql-connector-java and there is no need to configure your MySQL. So change from 5.1.6 to 5.1.44 fix the issue:
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.44</version>
</dependency>
2
“characterEncoding=”
Use below URL, It works for me.
url=jdbc:mysql://localhost:3306/hybrisdb?characterEncoding=latin1&useConfigs=maxPerformance