【发布时间】:2014-01-25 14:39:36
【问题描述】:
我正在使用以下代码将数据从我的应用程序发送到我服务器上的 PHP 脚本:
postList.add(new BasicNameValuePair("PType", TxtWeight.getText().toString()));
String StrURL="http://chacho.comuv.com/android/insert_pistachio_sell.php";
myJsonObject=JP.store_And_Feedback("PType",SpnPistachio.getSelectedItem().toString()));
DefaultHttpClient DHC=new DefaultHttpClient();
HttpPost httpPost=new HttpPost("StrURL");
httpPost.setEntity(new UrlEncodedFormEntity(postList));
以下 PHP 代码会将接收到的数据存储在我的数据库中:
<?php
require_once "./includes/DB_Connect.php"
$PType=$_POST['PType'];
$SQL="INSERT INTO sell (ptype)VALUES ('".mysql_real_escape_string($PType)."')";
$Result=mysql_query($SQL);
?>
但数据保存在数据库中,如“??????????”
我已经搜索了很多,但我没有找到一种方法来使它正常工作。
【问题讨论】:
-
我没有在您的代码中看到您将
Ptype键值对添加到 postList 列表中。您是否将 PWeight 写入数据库?如果是这样,它会通过 POST 请求正确发送吗? -
只是打字问题;我更正了
-
是所有字符都被转换为
?还是只是非ASCII 字符?为获得一致的 Unicode 支持,您应该在两边都使用 UTF-8:在客户端使用new UrlEncodedFormEntity(postList, "UTF-8"),在应用服务器使用mysql_set_charset('utf-8'),在数据库服务器使用 UTF-8 排序表。 -
非常感谢@bobince; new UrlEncodedFormEntity(postList, "UTF-8") 解决了我的问题,一切正常