У меня есть база данных MySQL, которая была создана как utf8mb4 (с сопоставлением utf8mb4_collate_ci), к которой я обращаюсь через некоторые страницы JSP. Все страницы JSP хранятся в формате UTF-8 и содержат следующие теги:
<%@ page contentType="text/html; charset=utf-8" %>
<meta http-equiv="Content-type" content="text/html; charset=utf-8">
Используя MySQL Workbench, я могу хранить не-ASCII текст в БД и отображать его, а на страницах JSP я могу правильно отображать сохраненный текст. Однако, когда я пытаюсь вставить новые строки, содержащие не-ASCII текст со страницы JSP, они в конечном итоге сохраняются как «??????» в базе данных (и отображается как таковой, независимо от того, выбран ли он из JSP или из MySQL Workbench). Если я отображаю текст, который вставляю как часть страницы JSP, он корректно отображается в моем браузере.
Единственное, о чем я могу думать, это то, что сетевое соединение JSP-to-MySQL каким-то образом использует неправильную кодировку, но я совершенно сбит с толку, как и почему.
Любой совет приветствуется!