utf-8 エンコーディングに問題があります。
私はJavaでUTF-8(多くの中国語記号を含む)でフォーマットされたMySQLデータベースデータから取得し、それらをいくつかのtxtファイルに入れます:(これは一例です..私はたくさんのデータを持っています)
String name = null;
ResultSet res = stat.executeQuery("Some_SQL");
nomeImg = res.getString("value");
PrintWriter = new new PrintWriter(new FileOutputStream("file_name.txt"));
out.println(name);
これらのtxtファイルを使用して、Androidアプリにいくつかのアクティビティを設定するために使用するTextViewを作成しますが、すべてのシンボルが正しく表示されるわけではありません:それらのほとんどは正しいですが、一部は認識されず、黒で表示されます中に白いクエスチョンマークが入ったひし形。
私もこれを試しました:しかし、私は最悪の結果を得ました
byte[] name = null;
ResultSet res = stat.executeQuery("Some_SQL");
nomeImg = res.getString("value").getBytes("UTF-8"):
BufferedWriter = new BufferedWriter(new OutputStreamWriter(new FileOutputStream("file_name.txt"), "UTF-8"));
out.write(new String(name, "UTF-8")+"\n");
誰にもアイデアはありますか?ありがとう!
編集 私は自分のDBに接続します:
Connection con = DriverManager.getConnection("jdbc:mysql://url:port?useUnicode=true&characterEncoding=utf-8", user, pass);
DBでクエリを実行すると:
SELECT default_character_set_name
FROM information_schema.SCHEMATA S
WHERE schema_name = "schema_name";
私は結果を得る
utf8
DBはUTF-8でエンコードされており、DBへの接続はUTF-8を処理できると思います