虽然这个主题是反复出现的,而且尽管我用了两天时间试图解决这个问题,但到目前为止还是失败了。
我有一个使用 GlassFish 3.1.2、JSF2.0、EJB3.0 和 MySQL 在 NetBeans 7.3 中创建的 Web 项目
我在项目开始时遇到了如下问题:当我在 inputText 上输入带有 á、à、ã、ç 等的单词时,该单词与数据库中的奇怪字符一起存储。我为解决问题所做的工作:
1 -) 我将项目编码为 UTF-8。右键单击项目>属性>编码= UTF-8。2 -) 编译选项编码 = UTF-8。右键单击项目>属性>编译编码= UTF8。3 -) vm-options = Dfile.encoding = UTF-8。右键单击项目>属性>运行=-Dfile.encoding = UTF-8。4 -) private.properties 项目 netbeans,我添加了以下行:runtime.encoding = UTF-8。5 -) 更改了netbeans 安装文件夹中的netbeans.conf 文件,我在netbeans_default_options 中添加了line-J-Dfile.encoding = UTF-8 选项。6 -) 我数据库中的一个表是编码 UTF-8
通过调试,我通过将对象保存在数据库中的方法检查了这一点:
public void create(T entity)
{
getEntityManager().persist(entity);
}
字符串没有问题,即重音是可以的。从现在开始出现问题,我无法再调试...
我使用属性 characterEncoding = UTF-8 在管理面板上编辑了 GlassFish 的连接池设置。
最后我将 jdbc 连接编辑为 jdbc:mysql://localhost:3306/igreja?characterEncoding=utf8
我对这个错误快要疯了。请问有没有人经历过这个?
我提前谢谢你!
丹尼尔