簡而言之,從我的android應用程序向PHP發送字符串並使用JSON解碼時,法語字符會造成麻煩。 以下是我在我的Android應用程序現在做(JAVA)帶有PHP的Android JSON,口音沒有正確處理的字符
HttpPost httppost = new HttpPost(//my server and filename);
try {
List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(2);
nameValuePairs.add(new BasicNameValuePair("payload", jsonObj.toString()));
httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
// Execute HTTP Post Request
HttpResponse response = httpclient.execute(httppost);
}....
,這裏是我的PHP代碼
$_POST['payload'] = stripslashes($_POST['payload']);
$payload = $_POST['payload'];
error_log(" $payload ", 0);
$payloadObj = json_decode($payload);
error_log(" $payloadObj ", 0);
當英文字母被使用,那麼一切都是完美的,然而是完美的,但是當我重音的frensh字母然後它不起作用。我插入上面的錯誤日誌,看看我得到了什麼,我注意到用法文字母,有效載荷顯示法文字母爲 和payloadObj是空的,所以我猜解碼失敗。
Pleeease幫助我,問題發生在哪裏(在什麼階段)?我該如何解決它?
爲什麼使用'stripslashes()'? – Brad
因爲我正在使用這個信息的MySQL,這是萬一magicQuotes開啓。它沒有對英文字母造成任何損害 – Snake
'stripslashes()'對MySQL沒有任何**,並且完全沒有任何與它有關的事情。你應該禁用魔術引號。如果你不能,請檢查這個答案:http://stackoverflow.com/a/517027/362536 – Brad