に埋め込んだロガーに問題があります。メソッドJTextAreaを呼び出すと問題なく動作しますが、 を使用すると、フランス語のアクセントがすべて失われます。logger.append()System.out.println()
ここでは、ロガーの作成と、ロガーへのリダイレクトがSystem.outありSystem.errます。
this.logger = new TextAreaOutputStream(jta, jsp.getVerticalScrollBar());
System.setProperty("user.langage", "fr");
PrintStream ps;
ps = new PrintStream(this.logger, true, "UTF-8");
System.setOut(ps);
System.setErr(ps);
ここにTextAreaOutputStreamクラスがあります。
import java.io.IOException;
import java.io.OutputStream;
import javax.swing.JScrollBar;
import javax.swing.JTextArea;
public class TextAreaOutputStream extends OutputStream {
    private JTextArea jta;
    private JScrollBar jsb;
    public TextAreaOutputStream(JTextArea jta, JScrollBar jsb) {
        this.jta = jta;
        this.jsb = jsb;
    }
    public synchronized void append(String s) {
        this.jta.append(s);
        scroll();
    }
    public synchronized void write(int b) throws IOException {
        jta.append(String.valueOf((char) b));
        if (((char) b) == '\n')
            scroll();
    }
    private synchronized void scroll() {
        if ((jsb.getValue() + jsb.getVisibleAmount()) == jsb.getMaximum()) 
            jta.setCaretPosition(jta.getDocument().getLength());
    }
}
のエンコーディングをランダムエンコーディングに変更しようとしましたPrintStreamが、間違って印刷されたアクセントの外観が変わりましたが、正しくすることはできませんでした. \u00e9また、 forなどの Unicode エントリでアクセントを変更しようとしましたéが、何も変わりませんでした。
ここで、私はあなたの助けを求めるのに十分必死です.
ロマン