我使用了本教程:http://www.helloandroid.com/tutorials/connecting-mysql-database
这表现很棒。但是我得到了这个名字Eugène
但是当我尝试从数据库中取出该名称时,它会给出nullPointer
,但是当我将其更改为Eugne
时,它会显示该名称。
是否可以从数据库中显示/获取像“è”这样的字符到android?
我读了一些教程,但我无法让它工作。
<?php
mysql_connect("127.0.0.1","root","root");
mysql_select_db("peopledata");
$q=mysql_query("SELECT * FROM people2 WHERE voornaam LIKE '%%'");
//$q=mysql_query("SELECT * FROM people WHERE voornaam ='""'");
while($e=mysql_fetch_assoc($q))
$output[]=$e;
print(json_encode($output));
mysql_close();
?>
这是我的android java部分:
try {
BufferedReader reader = new BufferedReader(new InputStreamReader(
is, "iso-8859-1"), 8);
StringBuilder sb = new StringBuilder();
String line = null;
while ((line = reader.readLine()) != null) {
sb.append(line + "\n");
}
is.close();
result = sb.toString();
} catch (Exception e) {
android.util.Log.e("log_tag",
"Error converting result " + e.toString());
}
编辑1
08-22 16:24:56.935: I/log_tag(14424): id: 3, name: null;
但它没有显示错误
答案 0 :(得分:0)
找到答案:
在连接数据库之前,请输入以下行:mysql_query("SET NAMES
utf8 ");
所以来自:
mysql_connect("127.0.0.1","root","root");
mysql_select_db("peopledata");
致:
mysql_connect("127.0.0.1","root","root");
mysql_query("SET NAMES `utf8`");
mysql_select_db("peopledata");