Я борюсь с этой проблемой почти весь день сегодня:Проблема с кодировкой Volley?
Я отправляю запрос POST с помощью Volley на Android с параметрами в виде строки. Строка кажется прекрасной, когда я отправляю ее в свое приложение, но когда она добирается до сервера PHP, кодирование кажется другим (имеет символы типа% 7D и т. Д. Для фигурных скобок). Я не уверен, что происходит не так. Из-за этого json_decode терпит неудачу в PHP, поскольку он получает синтаксическую ошибку.
Я пробовал несколько вещей как на уровне клиента, так и на уровне бэкэнд. На клиенте я пробовал следующее, но ничего не работает.
public Map<String, String> getHeaders() throws AuthFailureError {
Map<String, String> params = new HashMap<String, String>();
params.put("Content-Type", "application/json; charset=utf-8");
//params.put("Content-Type", "application/json");
return params;
}
@Override
public String getBodyContentType() {
return "application/json; charset=utf-8";
}
На стороне сервера (PHP) Я пытался несколько схем, чтобы изменить его в UTF-8 и т.д., но ничего не работает.
Здесь $ data1 имеет% 7D и т.д., и $ data2 становится нулевым, поскольку json_decode терпит неудачу.
$ data1 = file_get_contents ('PHP: // ввод');
$ data2 = json_decode ($ data1);
Может кто-нибудь помочь?