JQuery добавление нежелательных символов в строку?

Я использую jQuery для добавления локализованных знаков валюты на страницу. По-видимому, невинная и простая процедура:

$('.currency').text( userCurrency() )

Однако, если строка валюты равна £, вместо этого выход равен £.

Я понятия не имею, что это может вызвать, поскольку я не могу воссоздать проблему в jsFiddle.

Этого не происходит в firefox, то есть сафари, только хром.

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

Я понимаю, что я не даю вам много работы, и мне очень жаль - это очень странная проблема.

Кто-нибудь там сталкивался с чем-то похожим, может быть, у кого-то есть идеи, как я могу найти решение проблем?

2 ответа

Это связано с различными используемыми кодировками. Убедитесь, что все документы используют кодировку utf-8 вместе с настройкой метатега для utf-8. Но также, как и в ответе Qambar Raza, вы должны, вероятно, использовать html-объект определенных символов вместо фактического символа.


Вы должны использовать это на своей странице HTML:

Он в основном устанавливает тип содержимого вашей страницы ("utf-8"), что означает, что он может поддерживать набор символов для валюты.

Кроме того, убедитесь, что вы используете HTML-объекты, такие как:

£ for £

т.е. ваша функция userCurrency() должна возвращать html-объекты (например, £), а не прямой символ. Вы можете найти более подробную информацию по этой теме по следующей ссылке:

http://webdesign.about.com/od/localization/l/blhtmlcodes-cur.htm

licensed under cc by-sa 3.0 with attribution.