Derece Celsius sembolünü web sayfasına kodlamanın en iyi yolu?


85

Özel karakterleri web sayfalarına nasıl kodlamalıyım? Mesela şu anda görebildiğim gibi sadece karakteri kopyalayıp yapıştırarak kullandığım bu ℃ sembolüne ihtiyacım var. Bu, kontrol ettiğim masaüstü tarayıcıları ve ayrıca iPad ve iPhone'da çalıştı, ancak test için kullandığım bir Blackberry'de hiçbir şey görüntülenmiyor. Bunun için standart bir en iyi uygulama var mı?

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


Ne kullanılacağı konusunda standart bir düşünce var mı, UTF-8 vs Hex veya başka bir format? Teşekkürler
Evanss

Ah, pardon, sorunuzu ilk başta anlamadım. UTF-8'in genellikle tercih edildiğine inanıyorum. Sembolün kendisine gelince, genellikle derece işaretini ve ardından büyük C harfini yaparım, şöyle ki: ° C. Bunun sizin çözümünüzden daha iyi veya daha kötü olup olmadığından emin değilim. Sanırım en büyük fark, iki karakter arasındaki harf aralığı.
Nix

Bu sembolün sizin istediğiniz şekilde yapması gerektiğini düşünüyorum. Teşekkürler
Evanss

Yanıtlar:


178

°Martin'in önerdiği gibi, karakter setini utf-8 ile değiştirmeyi deneyin .

°C sana böyle bir şey alacak:

Santigrat derece


Bence en iyi cevap
Epirocks

Mükemmel!
Zobia Kanwal

38

“℃” DEGREE CELSIUS karakterini gerçekten kullanmak istiyorsanız, belgenizin UTF-8 kodlu olması ve HTTP başlıklarında olduğu gibi bildirilmesi koşuluyla, kopyalayıp yapıştırmanızda sorun yoktur. Karakter referansını kullanmak ℃eşit derecede işe yarar ve karakter kodlamadan bağımsız olarak çalışır, ancak kaynak çok daha az okunabilir olacaktır.

Blackberry ile ilgili sorun büyük olasılıkla bir yazı tipi sorunudur. Blackberry'deki yazı tiplerini bilmiyorum, ancak yazı tipi repertuvarı sınırlı olabilir. Bununla ilgili HTML'de yapabileceğiniz hiçbir şey yok, ancak CSS'yi kullanabilirsiniz, muhtemelen @font face.

Ancak DEGREE CELSIUS kullanmak için nadiren herhangi bir neden vardır. Doğu Asya yazısında kullanımından dolayı Unicode'da bulunan bir uyumluluk karakteridir. Unicode Standardı Bölüm 15'te açıkça belirtilir (bölüm 15.2, sayfa 497):

"Normal kullanımda," ° C "derecelerini U + 2103 santigrat derece yerine U + 00B0 derece işareti + U + 0043 latin büyük harfli c dizisiyle temsil etmek daha iyidir."

Derece işareti "°", varlık referansı "° dahil olmak üzere birçok yolla girilebilir, ancak normalde bunu kopyalayıp yapıştırarak veya başka bir şekilde bir karakter olarak eklemek en iyisidir. Windows'ta Alt 0176 kullanabilirsiniz.

Uyarı: Bazı tarayıcılar, boşluk müdahale etmediğinde bile derece işaretini satır sonu olarak değerlendirebilir ve ayrı satırlara “°” ve ardından “C” koyabilir. Bunu önlemenin farklı yolları var . Basit ve etkin bir yöntem şudur: <nobr>42 °C</nobr>.


1
Anahtar kaynaktan doğrudan alıntıyla okuduğum en iyi cevaplardan biri. Harika !!
htm11h

1
Neden bu kadar karmaşık? Santigrat derece klavyemin sol üst tarafındadır, sadece basın mı?
Pascal

2
@Pascal, bu hangi klavye olabilir?
Jukka K. Korpela

<nobr> yerine style = "white-space: nowrap" kullanın. developer.mozilla.org/en-US/docs/Web/HTML/Element/nobr
IceWarrior353

10

Kullanılması sup "o" harfi ve büyük harf "C" ile ilgili

<sup>o</sup>C

Tüm tarayıcılarda ve IE6 + 'da çalışmalıdır


11
"O" harfi derece sembolü değildir, ancak insanlar için derece sembolü gibi görünebilir . Bu bir bilgisayar korsanlığıdır ve ekran okuyucular ve arama motorları gibi bilgisayarların anlaması kafa karıştırıcı olacaktır.
gregers


4

Başlığınıza bir meta etiket ekleyin

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

Bu, kullanabileceğiniz karakter miktarını artırır.


5
HTML5'te sadece <meta charset="utf-8"/>inanıyorum ifadesini kullanabilirsiniz .
Drew Noakes

Benim durumumda bu gerçek çözümdü. VS2015, "İçerik Türü" meta etiketinin söylediğine göre davranır.
Alman Latorre

Bunu eklemek, benim için , kaynak görüntünün eksik olduğu bir alt etiketinde olduğu °gibi oluşturulduğu bir sorunu çözdü . °img
StephenT

1
  1. Derece işareti sayıya aittir , "C" ye değil. Derece işaretini, eksi işareti gibi bir sayı sembolü olarak kabul edebilirsiniz.
  2. Orada eder değil rakamlar ve derece işareti arasında herhangi boşluk olacak.
  3. Orada olacaktır derece işareti ve "C" arasında bir bölünemez boşluk olacak.

Bu iddiaların kaynağını verebilir misiniz?
Matthieu

0

Java-JSP kullanıyorsanız, Benim için işe yarayan şey aşağıyı JSP sayfasına yapıştırmaktır

<%@ page contentType="text/html; charset=UTF-8" %>
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.