Я использую базовую корзину PayPal (Стандарт платежей через веб-сайт).
У меня есть следующее в моем HTML как часть описания элемента:
<div class="block">
<p>What’s yours?</p>
<!-- some other html -->
</div>
Затем я выбираю этот фрагмент текста так:
phrase = $('.block p:first').text();
Я также пробовал это:
phrase = $('.block p:first').html();
Затем, перед отправкой, я копирую его в форму, подобную этой:
$('#PayPalForm input[name=os1]').val(phrase);
Форма выглядит так:
<form id="PayPalForm" target="paypal" action="https://www.paypal.com/cgi-bin/webscr" method="post">
<input type="hidden" name="cmd" value="_cart" />
<input type="hidden" name="business" value="redacted" />
<input type="hidden" name="no_note" value="1" />
<input type="hidden" name="add" value="1" />
<input type="hidden" name="lc" value="US" />
<input type="hidden" name="return" value="paypal_confirm.html" />
<input type="hidden" name="cancel_return" value="redacted" />
<input type="hidden" name="currency_code" value="USD" />
<input type="hidden" name="bn" value="PP-ShopCartBF" />
<input type="hidden" name="item_name" value="" />
<input type="hidden" name="on1" value="phrase" />
<input type="hidden" name="os1" id="os1" value="" />
</form>
Это мой HTML-тип документа:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
Это моя кодировка текста:
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
Это работает. Тем не менее, когда открывается удаленно размещенная страница корзины (в PayPal), фраза отображается с бессмысленными символами, где должен быть апостроф.
phrase: What’s yours?
По крайней мере, я ожидал, что вместо ’
.
будет отображаться необработанный
’
.
Почему это произошло и что я могу сделать, чтобы очистить его?