【发布时间】:2023-03-14 09:54:01
【问题描述】:
我用过这个教程: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;
但它没有显示错误
【问题讨论】:
-
显而易见的问题,但仍然需要问一个问题:错误在哪里? (又名:post stacktrace)
-
@njzk2 嗯......这并不是一个真正的错误。只是因为他不知道怎么处理“è”,所以他说它是NULL。所以这里不需要堆栈跟踪。只需要知道如何在 android 字典中添加“è”,如果你知道我的意思:p
-
谁说空? php 是否提取正确的值?那么,您的 php 脚本使用什么编码?你确定它是 iso-8859-1 吗?
-
Eclipse 说它是
NULL。如何检查我的 php 脚本使用了什么? -
什么意思,Eclipse 说它是空的?你有日志,堆栈跟踪,什么的吗?在 catch 块中添加 e.printstacktrace 并粘贴结果。
标签: java android mysql phpmyadmin bufferedreader