Como adicionar palavras não inglesas como parte do texto à solicitação de várias partes no volley lib?
Eu tenho uma classe json request personalizada para fazer upload de arquivos com várias partes para o servidor desta classe em um aplicativo Android, ela funciona bem quando adiciono palavras em inglês como chaves e valores (essas chaves e valores são uma parte), mas quando uso qualquer palavra em árabe , escreve palavras desconhecidas como "'D * F * 9".
Antes de escrever esses valores no objeto ByteArrayOutputStream, tudo funciona bem e consigo ver palavras em árabe.
Este é o método get Body Content Type para toda a classe
@Override
public String getBodyContentType() {
return "multipart/form-data;charset=UTF-8;boundary=" + boundary;
//return "application/json; charset=UTF-8";
//return "multipart/form-data; charset=UTF-8";
}
Aqui está o método de construção de parte de texto para construir a parte de texto
private void buildTextPart(DataOutputStream dataOutputStream, String parameterName, String parameterValue) throws IOException {
dataOutputStream.writeBytes(twoHyphens + boundary + lineEnd);
//dataOutputStream.writeBytes("Content-Disposition: form-data; name=\"" + parameterName + "\"" + lineEnd);
dataOutputStream.writeBytes("Content-Disposition: form-data; name=\"" + parameterName + "\"" + lineEnd);
dataOutputStream.writeBytes("Content-Type: text/plain; charset=UTF-8" + lineEnd);
//dataOutputStream.writeBytes("Content-Type: application/json; charset=UTF-8" + lineEnd);
Log.d("inside buildText", parameterName + " " + parameterValue);
dataOutputStream.writeBytes(lineEnd);
dataOutputStream.writeBytes(parameterValue + lineEnd);
}
E aqui o código que eu usei para depurar esses valores
// just for debugging
DataInputStream in = new DataInputStream(new ByteArrayInputStream (bos.toByteArray()));
Scanner scanner = new Scanner(in);
while (scanner.hasNext()){
Log.d("scanner ", scanner.next());
}
Eu li issoDocumento RFC mas não consigo entender qual é o objetivo da Disposição de Conteúdo e o que seus valores significam.
O que devo editar neste código para obter os valores em árabe corretamente?
Devo alterar o tipo de conteúdo em todas as partes ou posso fazer com que cada parte tenha seu tipo de conteúdo?
Alguma ajuda plz?