【问题标题】:post persian value to mysql with android volley and php使用 android volley 和 php 将波斯值发布到 mysql
【发布时间】:2017-01-26 18:40:45
【问题描述】:

我尝试使用 android volley 库将波斯值发布到 mysql,但它在我的数据库中发布这个值,如下所示:(ااداتت)

我的数据库排序规则是 utf8_persian_ci

这是我的 php 代码:

<?php

if($_SERVER['REQUEST_METHOD']=='POST'){
    $Phone_Name = $_POST['Phone_Name'];
    $Customer = $_POST['Customer_non','utf8_decode'];
    $IMEI = $_POST['IMEI'];
    $Mobile = $_POST['Mobile'];
    $Status = $_POST['Status'];
    $Fault = $_POST['Fault'];
    $custfault = $_POST['custfault'];
    $max_Cost = $_POST['max_Cost'];
    $accesories = $_POST['accesories'];
    require_once('dbConnect.php');
    $sql = "INSERT INTO phone_in (Phone_Name,Customer_non,IMEI,Mobile,Status,Fault,max_Cost,accesories,custfault) VALUES ('$Phone_Name','$Customer','$IMEI','$Mobile','$Status','$Fault','$max_Cost','$accesories','$custfault')";
    if(mysqli_query($con,$sql)) {
        echo "Successfully Registered";
    }else {
        echo "Could not register";
    }
} else {   
    echo 'error';
}

这是我的安卓代码:

import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.RadioButton;
import android.widget.Toast;
import com.android.volley.Request;
import com.android.volley.RequestQueue;
import com.android.volley.Response;
import com.android.volley.VolleyError;
import com.android.volley.toolbox.StringRequest;
import com.android.volley.toolbox.Volley;
import java.util.HashMap;
import java.util.Map;

public class DeviceAddActivity extends AppCompatActivity implements      View.OnClickListener {
    private static final String REGISTER_URL = "http://192.168.43.190/entezam/addphone.php";
    public static final String KEY_CUSTNAME = "Customer_non";
    public static final String KEY_PHONENAME = "Phone_Name";
    public static final String KEY_IMEI = "IMEI";
    public static final String KEY_Mobile ="Mobile";
    public static final String KEY_Status ="Status";
    public static final String KEY_Fault = "Fault";
    public static final String KEY_custfault ="custfault";
    public static final String KEY_max_Cost = "max_Cost";
    public static final String KEY_accesories ="accesories";
    private EditText editTextName;
    private EditText editTextPhoneName;
    private EditText editTextIMEI;
    private EditText editTextMobile;
    private RadioButton ron;
    private RadioButton roff;
    private EditText editTextFault;
    private EditText editTextCustfault;
    private EditText editTextmaxCost;
    private EditText editTextaccesories;
    private Button buttonRegister;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_device_add);
        editTextName = (EditText) findViewById(R.id.editTextcustname);
        editTextPhoneName = (EditText) findViewById(R.id.editTextphonename);
        editTextIMEI= (EditText) findViewById(R.id.editTextimei);
        editTextMobile = (EditText) findViewById(R.id.etcontactno);
        ron = (RadioButton) findViewById(R.id.rbon);
        roff = (RadioButton) findViewById(R.id.rboff);
        editTextFault = (EditText) findViewById(R.id.etiradzaheri);
        editTextCustfault = (EditText) findViewById(R.id.etiradmoshtari);
        editTextmaxCost = (EditText) findViewById(R.id.etmaxcost);
        editTextaccesories = (EditText) findViewById(R.id.etaccesories);
        buttonRegister = (Button) findViewById(R.id.buttonRegister);
        buttonRegister.setOnClickListener(this);
    }

    private void registerUser(){
        final String Customer_non = editTextName.getText().toString().trim();
        final String Phone_Name = editTextPhoneName.getText().toString().trim();
        final String IMEI = editTextIMEI.getText().toString().trim();
        final String Mobile = editTextMobile.getText().toString().trim();
        final String status;
        if (ron.isChecked()) {
            status = "1";
        } else
            status ="0";
        final String fault = editTextFault.getText().toString().trim();
        final String Custfault = editTextCustfault.getText().toString().trim();
        final String maxCost = editTextmaxCost.getText().toString().trim();
        final String accesories = editTextaccesories.getText().toString().trim();
        StringRequest stringRequest = new StringRequest(Request.Method.POST, REGISTER_URL,
            new Response.Listener<String>() {
                @Override
                public void onResponse(String response) {
                    Toast.makeText(DeviceAddActivity.this,response,Toast.LENGTH_LONG).show();
                }
            },
            new Response.ErrorListener() {
                @Override
                public void onErrorResponse(VolleyError error) {
                    Toast.makeText(DeviceAddActivity.this,error.toString(),Toast.LENGTH_LONG).show();
                }
            }){

            @Override
            protected Map<String,String> getParams(){
                Map<String,String> params = new HashMap<String, String>();
                params.put(KEY_CUSTNAME,Customer_non );
                params.put(KEY_PHONENAME,Phone_Name);
                params.put(KEY_IMEI,IMEI);
                params.put(KEY_Status,status);
                params.put(KEY_Fault,fault);
                params.put(KEY_custfault,Custfault);
                params.put(KEY_max_Cost,maxCost);
                params.put(KEY_accesories,accesories);
                params.put(KEY_Mobile,Mobile);
                return params;
            }
        };
        RequestQueue requestQueue = Volley.newRequestQueue(this);
        requestQueue.add(stringRequest);
    }
    @Override
    public void onClick(View v) {
        if(v == buttonRegister){
            registerUser();
        }
    }
}

【问题讨论】:

    标签: php android mysql android-volley


    【解决方案1】:

    尝试通过以下代码将 post 值编码为 UTF-8 到您的 post 服务中:

    public String getBodyContentType() {
    
                    return "application/json; charset=" + getParamsEncoding();
    
                }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-07-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-03-08
      • 1970-01-01
      相关资源
      最近更新 更多