JDBC 字符编码

新手上路,请多包涵

我有一个在 GlassFish 3 上运行的 Java Web 应用程序和在 MySQL 上运行的 JPA (EclipseLink)。我面临的问题是,如果我使用 update() 方法将实体保存到数据库中, String 字段将失去完整性; '?' 显示而不是一些字符。

服务器、页面和数据库配置为使用 UTF-8

在我发布表单数据后,下一页正确显示数据。此外,在 NetBeans 调试中“似乎”当前实体的 String 属性也存储了正确的值。我不知道 NetBeans 调试是否可信;可能是它解码正确,但它是不正确的。

原文由 Daniel Szalay 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 487
2 个回答

决定编码的是 JDBC,而不是 JPA:

 jdbc:mysql://localhost:3306/administer?characterEncoding=utf8

原文由 Bozho 发布,翻译遵循 CC BY-SA 2.5 许可协议

我用以下方法解决了它:我使用 GlassFish 管理界面将此属性添加到我的连接池设置中:

字符编码 = UTF-8

原文由 Daniel Szalay 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题