1

我使用了本教程: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;

但它没有显示错误

4

1 回答 1

0

找到答案:在连接数据库之前输入这一行:mysql_query("SET NAMESutf8 。 所以从:");

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");
于 2012-08-23T06:48:54.080 回答