0

私は Java コーダーで、私のプロジェクトでは、特定のフォントを Microsoft Access データベースに保存したいと考えています。しかし、データベースでは「????」としか表示されません。サイン。詳細については、JTextField を使用して文字列を取得し、MS データベース テーブルに挿入しました。ただし、テーブル フィールドには「???」しか表示されません。データベースに「Zawgyi-One」フォント タイプを表示できる ( statement.executeUpdate() ) のようなメソッドはありますか。

ヒント、テキスト フィールドから文字列を取得し、ms アクセスに挿入しますが、「????」しか表示されません。JavaでUnicode文字列をASCIIに変更する方法はありますか?

4

2 に答える 2

0

問題なのはフォントではありません。これは、JavaがUnicode文字列(UTF-16)を格納していることであり、MS AccessはそれがASCIIである必要があると考えており、2バイトのUnicode値は何にも一致しません。

次の行に沿って小さなユーティリティを作成する必要があります。

public static String cleanString(String s) {
    String temp = Normalizer.normalize(s, Normalizer.Form.NFD);
    Pattern pattern = Pattern.compile("\\p{InCombiningDiacriticalMarks}+");
    return pattern.matcher(temp).replaceAll("");
}

データベースに保存する前に、入力でそれを呼び出します。

于 2013-02-21T13:14:00.393 に答える