я сделал это раньше, но в моем другом проекте у меня не было значений utf8, и я думаю, что это то, что его собирало, но я не уверен
android send json array func:
URL url = new URL(MainActivity.URL2);
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setRequestMethod("POST");
conn.setRequestProperty("Content-Type", "application/json;charset=UTF-8");
conn.setRequestProperty("Accept", "application/json");
conn.setDoOutput(true);
conn.setDoInput(true);
Log.i("JSON", arr.toString());
if (arr.length() > 0) {
DataOutputStream os = new DataOutputStream(conn.getOutputStream());
os.writeBytes(arr.toString());
os.flush();
os.close();
и сторона php:
$input=file_get_contents("php://input");
$arr = json_decode($input, true);
foreach ($arr as $key => $value) {
$city=$value["city"];
$street=$value["street"];
$type=$value["type"];
$neighborhood=$value["neb"];
$floor=$value["floor"];
$rooms=$value["rooms"];
$size=$value["size"];
$price=$value["price"];
$query="INSERT INTO `d1`"
." (`type`, `city`, `street`, `neighborhood`, `size`, `rooms`, `floor`, `price`) "
."VALUES ('$type', '$city', '$street', '$neighborhood', "
. "'$size', '$rooms', '$floor', '$price');";
$mysqli->query($query);
}
Я попробовал несколько функций в php для декодирования utf8, но ни одна из них не помогла
ini_set ('default_charset', 'utf-8');в php не помог
кто-нибудь сталкивался с этой проблемой с utf8?
ошибка, которую я получаю: Предупреждение: неверный аргумент предоставлен для foreach ()
декодер, не возвращающий массив json
входной пример: (часть массива)
{"price":"1,790,000 ʢ,"floor":"2","street":"ߢ֪֠ Ҩܔ 2","neb":" թ֞蠠鑩֟ ݦڕߢ,"type":"ԙ锢,"size":"100","rooms":"4","city":"鑩֟ ݦڕߢ},{"price":"1,170,000 ʢ,"floor":"4","street":"ԕӠᚑ 22","neb":" ᖔ אѠ ᑕꡐڜߠ Ґ衩Ң","type":"ԙ锢,"size":"117","rooms":"4","city":"Ґ衩Ң"}
сохранено в файл с:
$myfile = file_put_contents('testinput2.txt',$input , FILE_APPEND | LOCK_EX);