Ошибка отображения символа% на Android при совместном использовании из приложения RN - PullRequest
1 голос
/ 03 апреля 2019

Приложение My React Native позволяет людям делиться скидками со своими друзьями по сообщениям. Сообщение жестко закодировано в приложении:

const message = 'Get 10% off!'
Linking.openURL(`sms:? &body=${message}`)

На Android знак% интерпретируется неправильно и выглядит следующим образом:

% o превращается в этот странный знак вопроса.

Я пытался заменить % на другой Unicode, экранировать его \%% или установить в верхний регистр, ничего не получалось.

Как мне кодировать%, чтобы он отображался так, как ожидается на Android?

Ответы [ 2 ]

0 голосов
/ 03 апреля 2019

Используйте encodeURIComponent() для каждого параметра, который вы хотите отправить по ссылке, чтобы правильно кодировать любые специальные символы.

const message = encodeURIComponent('Get 10% off!')
Linking.openURL(`sms:? &body=${message}`)
0 голосов
/ 03 апреля 2019

Вы можете попробовать HTML-код для символа%:

<Text>
    &#10140;
<Text>

Это должно работать, но будьте осторожны:

<Text>
    {'&#10140;'}
<Text>

Это не будет работать

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