Найкращий спосіб кодування символу градуса Цельсія на веб-сторінці?


85

Як слід кодувати спеціальні символи на веб-сторінках? Наприклад, мені потрібен цей символ ℃, який я використав, просто скопіювавши та вставивши символ так, як я бачу його зараз. Це працювало для браузерів для настільних ПК, з якими я перевіряв, а також для iPad та iPhone, але на Blackberry, який я використовував для тестування, нічого не відображається. Чи існує стандартна найкраща практика для цього?

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


Чи існує стандартне роздуми про те, що використовувати, UTF-8 проти Hex чи інший формат? Дякую
Еванс

Ах, вибачте, спочатку не зрозумів вашого запитання. Я вважаю, що UTF-8 зазвичай є кращим. Що стосується самого символу, я зазвичай просто роблю знак градуса, за яким ставиться велике C, приблизно так: ° C. Я не впевнений, чи це краще чи гірше вашого рішення. Думаю, найбільша різниця - це інтервал між літерами між двома символами.
Нікс,

Я думаю, що для цього символу потрібно зробити це по-вашому. Дякую
Еванс

Відповіді:


177

Спробуйте замінити його на °, а також встановити кодировку на utf-8, як пропонує Мартін.

°C отримає вам щось подібне:

Градуси за Цельсієм


На мою думку, найкраща відповідь
Epirocks

Це ідеально!
Zobia Kanwal

37

Якщо ви дійсно хочете використовувати символ СТЕПЕНЮ ЦЕЛЬСЯ “℃”, тоді скопіювати та вставити це нормально, за умови, що ваш документ закодований 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, яка це може бути клавіатура?
Jukka K. Korpela

Використовуйте 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
У HTML5 ви можете просто використовувати <meta charset="utf-8"/>Я вірю.
Дрю Ноукс,

У моєму випадку це було справжнім рішенням. VS2015 поводиться відповідно до того, про що говорить мета-тег "Content-Type".
німецький Latorre

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

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

Не могли б ви навести джерело цих тверджень?
Матьє

0

Якщо я використовую Java-JSP, мені вдалося вставити нижче на сторінку JSP

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