Я запускаю java поверх причала на экземпляре Linux EC2, используя базу данных MySQL. Столбец представляет собой VARCHAR, настроенный на прием кодировки utf8mb4.
Поиграв с вещами, я обнаружил, что это работает, когда я запускаю этот код через gradle jettyRunWar
или даже при запуске того же кода на сервере tomcat.
Это не работает, когда я помещаю ту же самую войну, которая работала раньше, в $JETTY_HOME/webapps/root.war, а затем запускаю причал с sudo service jetty start
.
Показанная ошибка -
java.sql.BatchUpdateException: Incorrect string value: '\xF0\x9F\x99\x89' for column 'name' at row 1
Текущее определение столбца -
`name` varchar(50) CHARACTER SET utf8mb4 DEFAULT NULL
Значение устанавливается в SQL с помощью подготовленногоStatement.setString(...), и я убедился, что JAR коннектора mysql такой же.
Любые идеи?