Как отобразить строку со специальными символами, такими как €, в предупреждении Javascript / jQuery?

Например: я хочу отобразить сообщение с надписью "Цена € 10"

Но когда я использую следующий код:

alert("The Price is €10");

Вывод, показанный в окне сообщения: "The Price is €10", я хочу, чтобы вывод был "The Price is €10".

Может ли кто-нибудь помочь мне с этим, пожалуйста? Заранее спасибо.

11
Chamara Keragala 31 Янв 2013 в 13:48

3 ответа

Лучший ответ

Используйте это как предупреждение. У меня отлично работает.

alert(' The Price is \u20AC 10');

Описание здесь: http://leftlogic.com/projects/entity-lookup/

16
Riju Mahna 31 Янв 2013 в 09:53

Собственный метод alert не декодирует HTML-кодированные объекты.

Но браузеры делают это при рендеринге HTML. Один из способов - создать элемент HTML с определенным текстом в качестве innerHTML (так он выполняет обработку символов), а затем вернуть его свойство text и предупредить его.

function alertSpecial(msg) {
    msg = $('<span/>').html(msg).text();
    alert(msg);
}
alertSpecial('The Price is &euro;10');

Это будет работать для всех символов & xxx, которые может отображать браузер, без необходимости определять код символа для каждого специального символа, который вы, возможно, захотите использовать.

7
techfoobar 31 Янв 2013 в 10:00

Проверьте :

alert("The Price is \u20AC 10");

http://jsfiddle.net/Nseum/

Символ Юникода 'ЗНАК ЕВРО' (U + 20AC)

2
hsuk 31 Янв 2013 в 09:58