Java アプレットでアラビア文字を表示しようとしていますが、常に疑問符「?????」が表示されます。
私は多くの解決策を試しましたが、成功しませんでした:
- new String(bytes [], charsetName) を UTF-8 デコードに使用します。
- Netbeans のデフォルト文字セットの変更: VM オプションの -Dfile.encoding=UTF8 およびコンパイル オプションの -encoding UTF8。
- エンコードには ByteArrayOutputStream を使用します。
- UTF8 と UTF-8 の両方の文字セット名を使用します。
スペイン語環境で Windows 7 を使用しています。
一部のソリューションは、Netbeans の実行時に機能しますが、この環境以外では機能しません。ソースと .jar を含む Netbeans プロジェクトです。
これは私が使用している簡単なコードです:
package javaapplication4;
import java.io.ByteArrayOutputStream;
import java.nio.charset.Charset;
import javax.swing.JApplet;
import javax.swing.JOptionPane;
public class JavaApplication4 extends JApplet{
@Override
public void init(){
try {
String str1 = new String("تعطي يونيكود رقما فريدا لكل حرف".getBytes(), "UTF-8");
JOptionPane.showMessageDialog(rootPane, str1);
String str2 = new String("تعطي يونيكود رقما فر");
ByteArrayOutputStream os = new ByteArrayOutputStream();
os.write(str2.getBytes());
JOptionPane.showMessageDialog(rootPane, os.toString("UTF-8"));
} catch (Exception ex) {
JOptionPane.showMessageDialog(rootPane, ex.toString());
}
}
}
何が起こっているのか考えていますか?