0

このテーマは繰り返されますが、この問題を解決しようとして 2 日が経過しましたが、これまでのところ失敗しています。

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);  
}

String では問題ありません。つまり、アクセントで問題ありません。これから問題が発生し、デバッグできなくなります...

プロパティ characterEncoding = UTF-8 を使用して、管理パネルで GlassFish の接続プールの設定を編集しました。

最後に、jdbc 接続を jdbc:mysql://localhost:3306/igreja?characterEncoding=utf8 として編集しました。

私はこのバグに夢中です。誰かがこれを経験したことがありますか?

よろしくお願いします!

ダニエル

4

2 に答える 2

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">  

このソリューションが他のユーザーに役立つことを願っています...

どうもありがとうございました!!!!

于 2013-08-30T14:34:00.903 に答える
0

私はメキシコ出身なのでñを使用していますが、この文字は他の国では機能しないため、次の(char)+numberようなものを使用しています。

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

多分あなたを助けることができます

于 2013-08-27T16:53:36.260 に答える