我有一个在GlassFish 3上运行的Java Web应用程序和在MySQL上的JPA(EclipseLink)上运行。我面临的问题是,如果使用该update()方法将实体保存到数据库中,则String字段将丢失完整性;'?'显示而不是某些字符。
update()
String
'?'
服务器,页面和数据库配置为使用UTF-8。
UTF-8
发布表单数据后,下一页将正确显示数据。此外,它在NetBeans中似乎“调试String”当前实体的属性也存储了正确的值。如果可以信任NetBeans调试,则为Dunno。可能是解码正确,但是不正确。
决定编码的是JDBC,而不是JPA:
jdbc:mysql://localhost:3306/administer?characterEncoding=utf8