Unicode из JSON отлично работает для просмотра текста на Android, назначить строку, и он не работает - PullRequest
0 голосов
/ 08 августа 2011

В основном, если я делаю что-то вроде

myTextView.setText(jsonObj.getString(USER_NAME));

Мой текстовый вид покажет правильный текст: 100

если я сделаю следующее:

String myText = jsonObj.getString(USER_NAME);
myTextView.setText(myText); 

Текст также отображается правильно и показывает: 100

В моем случае использования. У меня есть класс RowRecord и конструктор и класс VAR

public class RowRecord {
   public String mUserName = "";

   public RowRecord (JSONObject jsonObj, Context context) {
       mUserName = munzee.getString(Constants.MUNZEE_FRIENDLY_NAME);
   }
}

У меня тогда есть мой arrayAdapter

public class MyArray extends ArrayAdapter<RowRecord>

При переопределении getView

@Override 
public View getView(int position, View convertView, ViewGroup parent) {
    RowRecord rowRecord = getItem(position);
.
.
.
    TextView myUserName = (TextView)itemView.findViewById(R.id.txtUserName);
    txtUserName.setText(rowRecord.mUserName);

В итоге отображается как あ

Итак, я пошел и попытался сделать следующее

String myText= new String( jsonObj.getString(USER_NAME).getBytes(), "UTF-16" );

К сожалению, он отображался в виде квадратиков.

Я тогда

Любая помощь будет оценена, спасибо

1 Ответ

1 голос
/ 08 августа 2011

Посмотрите на необработанную строку JSON и убедитесь, что строки в той же кодировке, которую ожидает ваш код. Ваша самая безопасная ставка - использовать UTF-8 повсюду.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...