首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >JDBC字符编码

JDBC字符编码
EN

Stack Overflow用户
提问于 2010-06-15 04:19:39
回答 3查看 68.1K关注 0票数 25

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

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

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

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-06-15 13:07:14

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

代码语言:javascript
复制
jdbc:mysql://localhost:3306/administer?characterEncoding=utf8
票数 52
EN

Stack Overflow用户

发布于 2016-03-18 17:11:54

新版本的JDBC驱动程序会自动检测characterEncoding。您不需要显式设置它。

票数 5
EN

Stack Overflow用户

发布于 2015-12-29 23:40:06

我还必须添加useUnicode=true,所以我必须用'&‘连接参数,所以它看起来像这样:

代码语言:javascript
复制
jdbc:mysql://127.0.0.1:3306/warranteer?useUnicode=true&characterEncoding=UTF-8

如果您像我一样使用maven配置文件来设置类的URL,请确保使用&而不是&,因为maven在将persistence.xml文件写入MySQL文件夹时不会对url进行转义。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3040597

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档