экспорт CSV-файла с арабскими словами Android - PullRequest
0 голосов
/ 13 апреля 2019

Я экспортирую JSON в CSV-файл, используя открытую библиотеку CSV, но арабские слова отображаются в этом формате.1 "и расшифруйте его с помощью" UTF-8 ", но в результате слова начинают появляться в этом ???????и в CSV я использовал UTF-8 в качестве StandardCharsets.

 //Convert Data to JSON:

   JSONArray jsonArray = new JSONArray();
   try {
       for (DataSnapshot d : dataSnapshot.getChildren()) {
           DoctorReports doctorReports = d.getValue(DoctorReports.class);
           Gson gson = new Gson();
           String response = gson.toJson(doctorReports);
             //String encoded = URLEncoder.encode(response, "ISO-8859-1");
            // response = URLDecoder.decode(encoded, "UTF-8");
           jsonArray.put(new JSONObject(response));
       }
       saveCsv(jsonArray);
   } catch (Exception e) {
       e.printStackTrace();

}

    // How I write to CSV File 
     CSVWriter writer = new CSVWriter(
           new OutputStreamWriter(new FileOutputStream(file), 
               StandardCharsets.UTF_8),
        CSVWriter.DEFAULT_SEPARATOR
       );
   String[][] arrayOfArrays = new String[outerArray.length()][];
   for (int i = 0; i < outerArray.length(); i++) {
       JSONObject innerJsonArray = (JSONObject) outerArray.get(i);
       String[] stringArray1 = new String[innerJsonArray.length()];
       stringArray1[0] = (String) innerJsonArray.getString("doctorName");
         stringArray1[1] = (String) innerJsonArray.getString("hospital");
         stringArray1[2] = (String) innerJsonArray.getString("specialty");
       arrayOfArrays[i] = stringArray1;
       writer.writeNext(arrayOfArrays[i]);
   }
   writer.close();
...