NetBeans IDEを使用してJavaでデスクトップアプリケーションを作成しました。アプリケーションはファイルにデータを書き込むことができます。私はアプリケーションでアラビア文字を使用しています。アプリケーションをNetBeansから直接実行すると、アラビア文字を問題なくファイルに書き込むことができます。しかし、NetBeans以外のdistフォルダにある.jarファイルを実行すると、 '????'アラビア語のフォントの代わりに。私が解決策を見つけるのを助けることができれば、私は感謝しています。アラビア文字NetBeans IDEで開発されたjavaアプリケーションで印刷されない文字
public class MLogger {
private static final Logger log = Logger.getLogger(MLogger.class.getName());
private static FileHandler fh;
private static SimpleFormatter sf;
public static synchronized void writeLogToFile(String message){
try {
fh = new FileHandler("D://wblogs/wblog.txt", true);
// true forces append mode
sf= new SimpleFormatter();
fh.setFormatter(sf);
log.addHandler(fh);
log.log(Level.INFO,message);
} catch (IOException ex) {
Logger.getLogger(MLogger.class.getName()).log(Level.SEVERE, null, ex);
} catch (SecurityException ex) {
Logger.getLogger(MLogger.class.getName()).log(Level.SEVERE, null, ex);
}
}
}
は、これは私のカスタムロガークラスであるあなたは、NetBeansで実行している間、およびコマンドラインから使用中の異なるエンコーディングを持つ
MLogger.writeLogToFile("محمد اقبال");
どのようにデータを書きますか?ちょうどロガーを使用して?ファイルがどのエンコードに入ると思いますか? UTF-8またはその他のエンコーディング? – Kayaman
私はカスタムLoggerクラスを使用します –
どのようにjarファイルを実行しますか?これはLinuxやWindowsのボックスですか? OSのデフォルト文字セットとは何ですか? javaのデフォルトのエンコーディングを指定するとどうなりますか:https://stackoverflow.com/a/362006/180100 –