我有一个 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,我可以在 DB 中存储非 ASCII 文本并显示它,在 JSP 页面中,我可以正确显示存储的文本。但是,当我尝试从 JSP 页面插入包含非 ASCII 文本的新行时,它们最终被存储为“??????” 在数据库中(无论是从 JSP 还是从 MySQL Workbench 中选择都显示为这样)。如果我将插入的文本显示为 JSP 页面的一部分,它会在我的浏览器中正确显示。
我唯一能想到的是 JSP 到 MySQL 的网络连接不知何故使用了错误的编码,但我完全不知道如何或为什么。
欢迎任何建议!