1

utf-8 文字セットで GWT、ext-GWT Web プロジェクトを作成しました。また、html ファイルに utf-8 文字セットを追加しました。

さらに、pdf レポートを作成する必要があります。そのため、テンプレートのhtmlファイルを受け取り、(ローカル言語で)いくつかの情報を追加し、新しく生成されたhtmlファイルをwkhtmltopdfでpdfファイルに変換する特別なサーブレットを作成しました。

ここで、生成されたhtml ファイル (これも<meta charset="UTF-8">) を pdfファイルに変換しようとすると、クライアント コードからサーブレットに送信するローカル言語(一部のStrings ) を含む情報が、結果の pdf ファイルで "? " 黒いひし形の記号。

この問題を解決するために、次のようないくつかのパラメーターを Process Builder に追加します"--encoding" "utf-8"

private void ConvertHTMLtoPDF(String sConvertationProgramm, String sHTML, String sPDF)
{
    try {
        ProcessBuilder pb = new ProcessBuilder(sConvertationProgramm, "--encoding", "utf-8", sHTML, sPDF);
        Process process = pb.start();
        process.waitFor();
    } catch (Exception e) {
        e.printStackTrace();
    }

}

しかし、まったく同じで、まったく効果がありません。同時に、これらのシンボルは tomcat サーバーにのみあり、jetty で同じ問題は発生しません。


では、ローカル情報をサーバーに送信するとき (テンプレート html ファイルからのローカル言語の別の情報が正しく表示されるため)、またはサーバー側で書き込み/変換するときの問題はどこにありますか?

誰にも提案はありますか?ありがとう

4

1 に答える 1

1

問題が見つかりました。私の問題は新しく生成されたhtmlを書くことにあったので、これを使用する代わりに:

BufferedReader br = new BufferedReader(new InputStreamReader(fis));
BufferedWriter bw = new BufferedWriter(new FileWriter(fHTML));

私はこれを使用する必要があります:

BufferedReader br = new BufferedReader(new InputStreamReader(fis,"UTF8"));
BufferedWriter bw  = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(fHTML), "UTF-8"));

したがって、問題はhtmlファイルの読み取り/書き込みにありました。

于 2013-06-12T05:11:24.397 に答える