编写Java Web项目的问题 - 使用Netbeans 7.3

时间:2013-08-27 16:37:46

标签: java netbeans encoding utf-8 glassfish

虽然这个主题是反复出现的,即使我两天试图解决这个问题到目前为止都失败了。

我有一个使用GlassFish 3.1.2,JSF2.0,EJB3.0和MySQL在NetBeans 7.3中创建的Web项目

我正处于项目的开头并遇到了这个问题,如下所示:当我在inputText上输入一些带有á,à,ã,ç等的单词时,这个单词存储有奇怪的字符数据库。 我尝试解决的问题:

1 - )我将项目编码设置为UTF-8。右键单击项目>性状>编码= UTF-8。 2 - )编译选项 - enconding = 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);  
}

没有String的问题,即重音是可以的。问题从现在开始发生,我无法再调试......

我在管理面板上编辑了连接池的GlassFish设置,其属性为characterEncoding = UTF-8。

最后我将jdbc连接编辑为jdbc:mysql:// localhost:3306 / igreja?characterEncoding = utf8

我对这个bug很疯狂。请那里有人经历过这个吗?

我提前谢谢你了!

丹尼尔

2 个答案:

答案 0 :(得分:0)

我来自墨西哥,所以我们使用ñ,而这个字符在其他国家/地区不起作用,所以我们所做的就是使用(char)+number这样的东西:

(char)225 = á
(char)224 = à
(char)227 = ã
(char)231 = ç

也许可以帮到你

答案 1 :(得分:0)

我解决了这个问题..... 我下载了GlassFish的多语言版本(glassfish-3.1.2.2-unix-ml.sh)......

在jsf页面里我做到了:

<?xml version='1.0' encoding='UTF-8' ?>  
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"           "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">  
<html xmlns="http://www.w3.org/1999/xhtml"  
      xmlns:h="http://java.sun.com/jsf/html"  
      xmlns:f="http://java.sun.com/jsf/core">  
    <h:head>  
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />  
    </h:head>  
    <h:body>  
        <f:view encoding="UTF-8">  
            <h:form enctype="multipart/form-data;charset=UTF-8">  

我希望这个解决方案可以帮助其他用户...

非常感谢大家!!!!