Java Web 应用程序中解决的 JDBC 字符编码问题
在部署在 GlassFish 3 上并利用 JPA (EclipseLink) 和MySQL数据库,用户通过update()方法保存数据时遇到编码差异。字符串字段中的字符被替换为“?”数据库插入时的符号。
尽管将服务器、网页和数据库配置为使用 UTF-8,问题仍然存在。虽然数据在后续页面上正确显示,并且在 NetBeans 调试期间显得有效,但对调试转换的准确性仍然存在疑问。
JDBC 配置罪魁祸首
跟踪根本原因是,我们发现在这种情况下控制字符编码的是 JDBC,而不是 JPA。通过将以下参数附加到 JDBC 连接 URL:
characterEncoding=utf8
编码问题已解决。修改后的连接URL确保为与MySQL数据库的JDBC通信显式定义UTF-8字符编码,解决字符串字段的完整性问题。
以上是在 Java Web 应用程序中保存数据时,为什么我的字符被替换为 \'?\'?的详细内容。更多信息请关注PHP中文网其他相关文章!