Лучший способ закодировать символ градуса Цельсия на веб-странице?


85

Как мне кодировать специальные символы на веб-страницах? Например, мне нужен этот символ ℃, который я использовал, просто скопировав и вставив символ, который я вижу сейчас. Это работало для настольных браузеров, с которыми я проверял, а также на iPad и iPhone, но на Blackberry, которую я использовал для тестирования, ничего не отображается. Есть ли для этого стандартная передовая практика?

http://www.fileformat.info/info/unicode/char/2103/browsertest.htm


Есть ли стандартное представление о том, что использовать, UTF-8, Hex или другой формат? Спасибо
Эвансс

Ах, извините, сначала не поняла вашего вопроса. Я считаю, что UTF-8 обычно предпочтительнее. Что касается самого символа, я обычно использую знак градуса, за которым следует заглавная буква C, например: ° C. Я не уверен, лучше это или хуже, чем ваше решение. Думаю, самая большая разница - это расстояние между двумя символами.
Nix

Я считаю необходимым, чтобы этот символ действовал по-вашему. Спасибо
Эвансс

Ответы:


177

Попробуйте заменить его на °, а также установить кодировку utf-8, как предлагает Мартин.

°C даст вам что-то вроде этого:

Градусов Цельсия


На мой взгляд, лучший ответ
Epirocks

Это идеально!
Зобия Канвал,

37

Если вы действительно хотите использовать символ DEGREE CELSIUS «℃», то копирование и вставка в порядке, при условии, что ваш документ закодирован в UTF-8 и объявлен как таковой в заголовках HTTP. Использование символьной ссылки ℃будет работать одинаково хорошо и будет работать независимо от кодировки символов, но исходный текст будет гораздо менее читабельным.

Проблема с Blackberry, скорее всего, связана со шрифтом. Я не знаю о шрифтах на Blackberry, но репертуар шрифтов может быть ограничен. В HTML вы ничего не можете с этим поделать, но вы можете использовать CSS, возможно, с @font face.

Но редко есть причина использовать СТЕПЕНЬ ЦЕЛЬСИЯ. Это символ совместимости, включенный в Unicode из-за его использования в восточноазиатском письме. Стандарт Unicode прямо говорит в главе 15 (раздел 15.2, с. 497):

«При нормальном использовании лучше представлять градусы Цельсия« ° C »последовательностью U + 00B0 знака градуса + U + 0043 латинской заглавной буквы c, а не U + 2103 градусов Цельсия».

Знак градуса «°» можно вводить разными способами, включая ссылку на объект «°», но обычно лучше вставлять его как символ, путем копирования и вставки или иным образом. В Windows вы можете использовать Alt 0176.

Предостережение: некоторые браузеры могут рассматривать знак градуса как разрешающий разрыв строки после него, даже если не используется пробел, помещая «°» и следующую за ним букву «C» на отдельных строках. Есть разные способы предотвратить это . Простой и эффективный метод заключается в следующем: <nobr>42 °C</nobr>.


1
Один из лучших ответов, которые я прочитал, с прямой цитатой из ключевого источника. Потрясающие!!
htm11h

1
Почему все так сложно? Градус Цельсия находится в верхнем левом углу моей клавиатуры. Просто нажмите?
Паскаль

2
@Pascal, что это за клавиатура?
Юкка К. Корпела

Используйте style = "white-space: nowrap" вместо <nobr>. developer.mozilla.org/en-US/docs/Web/HTML/Element/nobr
IceWarrior353

10

Использование sup с буквой "o" и заглавной "C"

<sup>o</sup>C

Должен работать во всех браузерах и IE6 +


11
Буква «o» не является символом градуса, но для людей она может выглядеть как символ градуса. Это уловка, и компьютер будет сложно понять, например программы чтения с экрана и поисковые системы.
gregers


4

Добавьте метатег в свой заголовок

<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />

Это увеличивает количество символов, которые вы можете использовать.


5
<meta charset="utf-8"/>Я считаю, что в HTML5 вы можете просто использовать .
Дрю Ноукс

В моем случае это было реальным решением. VS2015 ведет себя в соответствии с тем, что говорит метатег Content-Type.
German Latorre

Добавление этого решило проблему для меня, когда изображение °отображалось как °в imgтеге alt, где отсутствовало исходное изображение.
StephenT

1
  1. Знак градуса относится к числу , а не к "С". Вы можете рассматривать знак градуса как цифровой символ, как и знак минуса.
  2. Между цифрами и знаком градуса не должно быть пробелов.
  3. Между знаком градуса и буквой «С» должен быть неразрывный пробел.

Не могли бы вы дать источник этих утверждений?
Matthieu

0

Если вы используете Java-JSP, у меня сработало то, что я вставил ниже на страницу JSP

<%@ page contentType="text/html; charset=UTF-8" %>
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.