android jason mysql,php-从android通过JSON到mysql阿拉伯语

开发者分享在使用Java处理阿拉伯文字时遇到的问题,如何从MySQL读取并存入含有阿拉伯语的字符串,JSON解析设置UTF-8编码的解决步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这是我的Java文件.我正在尝试发送阿拉伯文字母而不是我收到的阿拉伯语单词无效???? ?????? ??????

我可以从MySQL读取阿拉伯语,但不能将阿拉伯语添加到MySQL.

public class NewSecret extends Activity {

// Progress Dialog

private ProgressDialog pDialog;

JSONParser jsonParser = new JSONParser();

EditText inputName;

EditText inputDesc;

// url to create new product

private static String url_create_product = "http://laylakaylif.com/android/add_secrets.php";

// JSON Node names

private static final String TAG_SUCCESS = "success";

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

// fullScreen

requestWindowFeature(Window.FEATURE_NO_TITLE);

getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,

WindowManager.LayoutParams.FLAG_FULLSCREEN);

setContentView(R.layout.add);

// Edit Text

inputName = (EditText) findViewById(R.id.inputName);

inputDesc = (EditText) findViewById(R.id.inputDesc);

LinearLayout ll = (LinearLayout) findViewById(R.id.Lina);

AdView ad2 = new AdView(NewSecret.this, AdSize.SMART_BANNER,

"a150b0de6e44a18");

ll.addView(ad2);

ad2.loadAd(new AdRequest());

// Create button

Button btnCreateProduct = (Button) findViewById(R.id.btnCreateProduct);

if (inputName.getText().toString().length() <= 0)

inputName.setError("?????? ????? ?????!");

if (inputDesc.getText().toString().length() <= 10)

inputDesc.setError("?????? ????? ?? ???? ..");

// button click event

btnCreateProduct.setOnClickListener(new View.OnClickListener() {

public void onClick(View view) {

// creating new product in background thread

new CreateNewProduct().execute();

}

});

}

/**

* Background Async Task to Create new product

* */

class CreateNewProduct extends AsyncTask {

/**

* Before starting background thread Show Progress Dialog

* */

@Override

protected void onPreExecute() {

super.onPreExecute();

pDialog = new ProgressDialog(NewSecret.this);

pDialog.setMessage("????? ?? ???? ...");

pDialog.setIndeterminate(false);

pDialog.setCancelable(true);

pDialog.show();

}

/**

* Creating product

* */

protected String doInBackground(String... args) {

String title = inputName.getText().toString();

String description = inputDesc.getText().toString();

String htmltitle;

String deshtml;

htmltitle = TextUtils.htmlEncode(title);

deshtml = TextUtils.htmlEncode(description);

// Building Parameters

List params = new ArrayList();

params.add(new BasicNameValuePair("title", htmltitle));

params.add(new BasicNameValuePair("description", deshtml));

// getting JSON Object

// Note that create product url accepts POST method

JSONObject json = jsonParser.makeHttpRequest(url_create_product,

"POST", params);

// check log cat fro response

Log.d("Create Response", json.toString());

// check for success tag

try {

int success = json.getInt(TAG_SUCCESS);

if (success == 1) {

// successfully created product

Intent i = new Intent(getApplicationContext(),

AllSecrets.class);

startActivity(i);

// closing this screen

finish();

} else {

// failed to create product

}

} catch (JSONException e) {

e.printStackTrace();

}

return null;

}

/**

* After completing background task Dismiss the progress dialog

* **/

protected void onPostExecute(String file_url) {

// dismiss the dialog once done

pDialog.dismiss();

}

}

}

这是我的PHP JSON文件:

header("Content-Type:application/json;charset=utf-8"); //global encoding since this is the config file -- for Arabic support

/*

* Following code will create a new product row

* All product details are read from HTTP Post Request

*/

// array for JSON response

$response = array();

// check for required fields

/*if (isset($_POST['title']) && isset($_POST['description'])) {

$title = json_encode($_POST['title'], JSON_UNESCAPED_UNICODE);

$description = json_encode($_POST['description'], JSON_UNESCAPED_UNICODE);

*/

if (isset($_REQUEST['title']) && isset($_REQUEST['description'])) {

echo $_REQUEST['title'].'
';

/*

$title = json_decode($__REQUEST['title']);

$description = json_decode($__REQUEST['description']);

*/

$title = $_REQUEST['title'];

$description = $_REQUEST['description'];

// include db connect class

require_once 'db_connect.php';

// connecting to db

$db = new DB_CONNECT();

//setting the connection charset

mysql_set_charset('utf8',$db);

mysql_query("SET NAMES 'utf8'");

mysql_query("SET CHARACTER_SET utf8;");

// mysql inserting a new row

mysql_query("SET NAMES 'UTF8'");

$result = mysql_query("INSERT INTO secrets(title , description) VALUES('$title', '$description')");

// check if row inserted or not

if ($result) {

// successfully inserted into database

$response["success"] = 1;

$response["message"] = "Secret successfully added.";

// echoing JSON response

echo json_encode($response);

} else {

// failed to insert row

$response["success"] = 0;

$response["message"] = "Oops! An error occurred.";

// echoing JSON response

echo json_encode($response);

}

} else {

// required field is missing

$response["success"] = 0;

$response["message"] = "Required field(s) is missing";

// echoing JSON response

echo json_encode($response);

}

?>

JSONParser代码:

import java.io.BufferedReader;

import java.io.IOException;

import java.io.InputStream;

import java.io.InputStreamReader;

import java.io.UnsupportedEncodingException;

import java.util.List;

import org.apache.http.HttpEntity;

import org.apache.http.HttpResponse;

import org.apache.http.NameValuePair;

import org.apache.http.client.ClientProtocolException;

import org.apache.http.client.entity.UrlEncodedFormEntity;

import org.apache.http.client.methods.HttpGet;

import org.apache.http.client.methods.HttpPost;

import org.apache.http.client.utils.URLEncodedUtils;

import org.apache.http.impl.client.DefaultHttpClient;

import org.json.JSONException;

import org.json.JSONObject;

import android.util.Log;

public class JSONParser {

static InputStream is = null;

static JSONObject jObj = null;

static String json = "";

// constructor

public JSONParser() {

}

// function get json from url

// by making HTTP POST or GET method

public JSONObject makeHttpRequest(String url, String method,

List params) {

// Making HTTP request

try {

// check for request method

if(method == "POST"){

// request method is POST

// defaultHttpClient

DefaultHttpClient httpClient = new DefaultHttpClient();

HttpPost httpPost = new HttpPost(url);

httpPost.setEntity(new UrlEncodedFormEntity(params));

HttpResponse httpResponse = httpClient.execute(httpPost);

HttpEntity httpEntity = httpResponse.getEntity();

is = httpEntity.getContent();

}else if(method == "GET"){

// request method is GET

DefaultHttpClient httpClient = new DefaultHttpClient();

String paramString = URLEncodedUtils.format(params, "utf-8");

url += "?" + paramString;

HttpGet httpGet = new HttpGet(url);

HttpResponse httpResponse = httpClient.execute(httpGet);

HttpEntity httpEntity = httpResponse.getEntity();

is = httpEntity.getContent();

}

} catch (UnsupportedEncodingException e) {

e.printStackTrace();

} catch (ClientProtocolException e) {

e.printStackTrace();

} catch (IOException e) {

e.printStackTrace();

}

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 + "

");

}

is.close();

json = sb.toString();

} catch (Exception e) {

Log.e("Buffer Error", "Error converting result " + e.toString());

}

// try parse the string to a JSON object

try {

jObj = new JSONObject(json);

} catch (JSONException e) {

Log.e("JSON Parser", "Error parsing data " + e.toString());

}

// return JSON String

return jObj;

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值