我需要从mysql数据库中获取一些数据,我正在运行一个php脚本来查询数据库,对其进行json编码并打印出来。通过服务器中php上的httppost从我的应用程序中获取结果。我从服务器获取所有数据,除了一些包含特殊/非类型化characters.for的条目,例如:“,‘对于这些条目,我获取null.So,而不是使用键入的字符替换这些字符,如'"’服务器side...is,有任何方法我可以获取这些数据,并将这些字符显示在应用程序上。谢谢。
try{
HttpClient httpclient = new DefaultHttpClient();
HttpPost httppost = new HttpPost(KEY_121);
//httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
HttpResponse response = httpclient.execute(httppost);
HttpEntity entity = response.getEntity();
is = entity.getContent();
}catch(Exception e){
Log.e("cxxn", "Error in http connection "+e.toString());
}
//convert response to string
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){
Log.e("convt", "Error converting result "+e.toString());
}对于那些带有特殊characters.Should的数据,结果为NULL值。编辑: MySQL字符集是:UTF-8UNICODE (utf8)
<?php
mysql_connect("","","");
mysql_select_db("fdict");
$q=mysql_query("SELECT (Id), (WD), (des), (udte) FROM `dict`");
while($e=mysql_fetch_assoc($q))
$output[]=$e;
print(json_encode($output));
mysql_close();
?>这是我的服务器端php code.Have删除了服务器地址,带有特殊字符的pass.The数据似乎只有在json_encode().An回显后才会变成空的sql查询结果显示正确的数据没有任何空values.Someone请帮助this.What我能做..?我有什么选择..?
谢谢。
发布于 2012-09-01 01:22:45
使用this解决了这个问题。需要将mysql_query('SET CHARACTER SET utf8')放在以utf8格式检索的SELECT query.So之前。
https://stackoverflow.com/questions/12211652
复制相似问题