Отправка текста в корзину PayPal приводит к появлению странных символов - PullRequest
2 голосов
/ 13 декабря 2011

Я использую базовую корзину PayPal (Стандарт платежей через веб-сайт).

У меня есть следующее в моем HTML как часть описания элемента:

<div class="block">
    <p>What&rsquo;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?

По крайней мере, я ожидал, что вместо ’.

будет отображаться необработанный &rsquo;.

Почему это произошло и что я могу сделать, чтобы очистить его?

1 Ответ

2 голосов
/ 13 декабря 2011

Вы должны быть в состоянии указать кодировку информации, содержащейся в вашей форме: Настройка набора символов - кодировка .

<input type="hidden" name="charset" value="utf-8">
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...