EditText удаляет амперсанд и остальную часть текста

В моем EditText у меня будет сообщение, такое как Punch & Judy are is an amazing show, но когда я получу его для отображения, он просто придумывает Punch есть идеи, что я делаю неправильно? Я отправляю его на сервер с помощью запроса POST. Но когда я получаю ответ, его просто нет.


person BilalMH    schedule 11.01.2017    source источник
comment
Как вы взаимодействуете с EditText?   -  person Bartek Lipinski    schedule 11.01.2017
comment
В зависимости от того, как вы настраиваете EditText, вам может понадобиться использовать \& или &   -  person Michael Dodd    schedule 11.01.2017
comment
Я отправляю его на сервер с помощью запроса POST. Но когда я получаю ответ, его просто нет. С \& и & @MichaelDodd   -  person BilalMH    schedule 11.01.2017
comment
Ах, отправка через POST, это очень важная информация. Пожалуйста, включите его в исходный вопрос. Я опубликую ответ ниже.   -  person Michael Dodd    schedule 11.01.2017


Ответы (3)


Если вы отправляете его через запрос POST, вы можете безопасно кодировать, используя java.net.URLEncoder.encode, например.

java.net.URLEncoder.encode("Punch & Judy are is an amazing show", "utf8")

См. также - Экранирование и в URL-адресе

person Michael Dodd    schedule 11.01.2017

Поскольку & не разрешено, вместо этого вы можете использовать & вместо этого

person Anjali    schedule 11.01.2017

Добавьте это в свой файл res/string.xml как:

<string name="give_your_name">Punch &amp; Judy are is an amazing show</string>

Используйте в EditText как:

<EditText
  .....
  android:text="@string/give_your_name"           
 />

Иметь ввиду:

Entity                     Character    Name    Usage
left angle bracket            <          lt     &lt;
right angle bracket           >          gt     &gt;
ampersand                     &          amp    &amp;
single quote or apostrophe    '          apos   &apos;
double quote or speech mark   "          quot   &quot;
person W4R10CK    schedule 11.01.2017