Как обрабатывать специальные символы в строке json

У меня есть приложение, в котором я храню введенный пользователем текст в строку json. Затем я сохраняю эту строку JSON в файл. А затем позже отобразите его обратно, прочитав файл, извлекая из него строку json и, наконец, получая строку для отображения в текстовом виде. Однако я замечаю, что любые специальные символы (скорее символы), такие как £, ÷, € и т. д. не отображаются обратно. Например символ € отображается как â □ ¬.

Пример кода ниже для справки

Сначала код для захвата введенного пользователем текста и помещения его в файл

//get user entered text
QuestionEditText = (EditText)this.findViewById(R.id.editTextQuestion);
//put that into json object
JSONObject jObjOneQuestionDetails=new JSONObject();
jObjOneQuestionDetails.put("Question", QuestionEditText.getText());
//write json object  into file
FileOutputStream output = openFileOutput("MyFileName",MODE_PRIVATE);
OutputStreamWriter writer = new OutputStreamWriter(output);
writer.writejObjOneQuestionDetails.put());
writer.flush();
writer.close();

Теперь под кодом для получения строки из файла и отображения ее пользователю

//define and initialize variables
QuestionEditText = (EditText)this.findViewById(R.id.editTextQuestion);
private JSONArray jArrayQuizQuestions=new JSONArray();
private JSONObject jObjQuizTitle=new JSONObject();

//load JSONObject with the File
int ch;
StringBuffer fileContent = new StringBuffer("");
FileInputStream fis;
String fileString;
fis = this.getBaseContext().openFileInput("MyFileName");
while( (ch = fis.read()) != -1)
          fileContent.append((char)ch);
fileString = new String(fileContent);
jObjQuizTitle = new JSONObject(fileString);
jArrayQuizQuestions = jObjQuizTitle.getJSONArray("MyFileName");


//display json object into textview
JSONObject aQues = jArrayQuizQuestions.getJSONObject(pageNumber-1);
String quesValue = aQues.getString("Question");
QuestionEditText.setText(quesValue.toCharArray(), 0, quesValue.length());       

Приведенный выше код является просто примером, я проигнорировал все блоки try / catch здесь. Это должно дать представление о том, как я собираю и отображаю введенный пользователем текст.

Ответы на вопрос(1)

Ваш ответ на вопрос