Отправка текста в корзину PayPal приводит к появлению странных символов

Я использую обычную корзину 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;, а не ’.

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


person Sparky    schedule 12.12.2011    source источник
comment
Простите, но почему эта фраза не является просто частью формы?   -  person nachito    schedule 13.12.2011
comment
@nachito, есть одна форма и множество вариантов заказа, которые копируются в форму только по мере необходимости. Не так уж и необычно делать это в стандартной ситуации с платежами через веб-сайт PayPal. Хотя это все не по делу. Во-первых, он правильно копируется в форму, просто не передается (или не отображается) PayPal правильно.   -  person Sparky    schedule 13.12.2011


Ответы (1)


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

<input type="hidden" name="charset" value="utf-8">
person nachito    schedule 12.12.2011