サーバーからJSONで送られてきた文字列をAndroidで表示する処理を作っているのですが、正しく表示できません。
Java
1String _tmp_string = data.getString("name"); 2String _tmp_string_2 = ""; 3 4for (int j = 0; j <= _tmp_string.length() - 5; j=j+5) { 5 _tmp_string_2 += "\" + _tmp_string.substring(j, j+5); 6} 7 8Log.d("MyProj", "_tmp_string_2 = " + _tmp_string_2); 9byte[] _byte_name = _tmp_string_2.getBytes("UTF-8"); 10Log.d("MyProj", "_byte_name = " + _byte_name); 11 12// byte[] _byte_name = "\u4ec1\u53cb\u4f1a".getBytes("UTF-8"); 13 14// Log.d("MyProj", "_byte_name = " + _byte_name); 15 16String _tmp_name = new String(_byte_name, "UTF-8"); 17Log.d("MyProj", "_tmp_name = " + _tmp_name); 18 19PaymentList item = new PaymentList(bmp, _tmp_date, _tmp_name, data.getString("price") + "円"); 20listItems.add(item); 21
表示結果は、\u4ec1\u53cb\u4f1aとなってしまいます。
今コメントにしている、
Java
1byte[] _byte_name = "\u4ec1\u53cb\u4f1a".getBytes("UTF-8");
に置き換えると正しく日本語が表示できている状態です。
Logcat
1_tmp_string_2 = \u4ec1\u53cb\u4f1a
と変換できているので何が原因なのかわかりません。
どこが間違っているのかご指摘いただけると幸いです。
よろしくお願いします。
回答2件
あなたの回答
tips
プレビュー