سلام دوستان من میخوام که یه سری اطلاعات رو از طریق برنامه به دیتابیسم اضافه کنم مشکلم اینجاست که وقتی اطلاعات فارسی باشه اطلاعات به صورت
یه سری کد ناخوانا توی دیتا بیس ذخیره میشن . و وفتی میخوام با json بگیرمشون توی مرورگر درست دیده میشه ولی برنامه دوباره به همین صورت کدناخوانا دریافت میکنه
اینم کدهای نوشته شدمه
این کد وارد کردن اطلاعات توی db
این قطعه کد پی اچ پی واسه اضافه کردن دیتا
این قطعه کد مربوط به تبدیلشون به json
و اینم قطعه کد واسه دریافتشون تو برنامه
حقیقت کار کردن با php رو تازه شروع کردم و فکر میکنم مشکل از کدای php هستش .. ممنوم میشم رو همین قطعه کد راهنماییم کنید
یه سری کد ناخوانا توی دیتا بیس ذخیره میشن . و وفتی میخوام با json بگیرمشون توی مرورگر درست دیده میشه ولی برنامه دوباره به همین صورت کدناخوانا دریافت میکنه
اینم کدهای نوشته شدمه
این کد وارد کردن اطلاعات توی db
کد:
class BackgroundTask extends AsyncTask<String,Void,String>{
String add_info_url;
@Override
protected void onPreExecute() {
add_info_url= "http://develop-your-app.comlu.com/add_info.php";
}
@Override
protected String doInBackground(String... params) {
ConnectivityManager manager = (ConnectivityManager)getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo in = manager.getActiveNetworkInfo();
if(in!=null && in.isConnected()){
String name,mobile,email;
name=params[0];
email=params[1];
mobile=params[2];
try {
URL uRl = new URL(add_info_url);
HttpURLConnection connection = (HttpURLConnection) uRl.openConnection();
connection.setRequestMethod("POST");
connection.setDoOutput(true);
OutputStream outputStream = connection.getOutputStream();
BufferedWriter bufferedWriter = new BufferedWriter(new OutputStreamWriter(outputStream,"UTf-8"));
String data_String= URLEncoder.encode("name","UTf-8")+"="+URLEncoder.encode(name,"UTf-8")+"&"+
URLEncoder.encode("email","UTf-8")+"="+URLEncoder.encode(email,"UTf-8")+"&"+
URLEncoder.encode("mobile","UTf-8")+"="+URLEncoder.encode(mobile,"UTf-8");
bufferedWriter.write(data_String);
bufferedWriter.flush();
bufferedWriter.close();
outputStream.close();
InputStream inputStream =connection.getInputStream();
inputStream.close();
connection.disconnect();
return "one roew of data inseted";
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
{
return "you are not connected";
}
این قطعه کد پی اچ پی واسه اضافه کردن دیتا
کد:
<?php
require "init.php";
$name=$_POST["name"];
$email=$_POST["email"];
$mobile=$_POST["mobile"];
$sql="insert into product_info values('$name','$email','$mobile');";
if(mysqli_query($con,$sql))
{
echo "<br><h3> one row inserted </h3>";
}else {
echo "Error in insetion .... ". mysqli_errno($con);
}
?>
این قطعه کد مربوط به تبدیلشون به json
کد پیاچپی:
<?php
$host = "mysql12.000webhost.com";
$user = "?????";
$password ="?????";
$db="a8503974_hamid";
$sql = "select * from product_info;";
$con=mysqli_connect($host,$user,$password,$db);
$result=mysqli_query($con,$sql);
$response=array();
while($row = mysqli_fetch_array($result))
{
array_push($response,array("name"=>$row[0],"email"=>$row[1],"mobile"=>$row[2]));
}
echo json_encode(array("server_response"=>$response) );
mysqli_close($con);
?>
و اینم قطعه کد واسه دریافتشون تو برنامه
کد:
protected void onPreExecute() {
Json_url = "http://develop-your-app.comlu.com/json_get_data.php";
}
@Override
protected String doInBackground(Void... params) {
try {
URL url = new URL(Json_url);
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
InputStream inputStream = connection.getInputStream();
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream));
StringBuilder stringBuilder = new StringBuilder();
while ((JsonString = bufferedReader.readLine()) != null) {
stringBuilder.append(JsonString + "\n");
}
bufferedReader.close();
inputStream.close();
connection.disconnect();
return stringBuilder.toString().trim();
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return null;
}
حقیقت کار کردن با php رو تازه شروع کردم و فکر میکنم مشکل از کدای php هستش .. ممنوم میشم رو همین قطعه کد راهنماییم کنید