2011-01-12 19 views
7

Nedenini bilmiyorum ama fillText ile "derece" sembolü (°) kullanamıyorum. Herşeyi denedim: ALT + 248, ALT + 0176, & deg ;, web'den kopyala/yapıştır ... Aldığım hiç bir şey veya & deg ;. Kodda veya HTML'de aynı sayfada çalışır - sadece tuvalde değil.HTML5 Tuval: Derece Sembolü

Bunu nasıl düzelteceğini bilen var mı? Teşekkürler.

cevap

10

Bu, metinde gerçek bir Unicode karakteri kullanarak benim için çalışır. kullanma gibi JavaScript kaynağını açıklayan

  1. UTF-8 olarak kaydedilir ve bir Unicode karakter kümesi kullanılarak olarak tarif
  2. ve
  3. : http://jsfiddle.net/W5d7D/

    kaynak dosya mı: Burada bir örneğe bakın Bir Unicode karakter seti mi?

Unicode'un HTML ve Canvas üzerinde çalışmasını gösteren bağımsız bir örnek aşağıda verilmiştir. Eğer javascript veya html editörü destek Unicode karakter emin olun http://phrogz.net/tmp/canvas_unicode_degree_symbol.html

<!DOCTYPE html> 
<html><head> 
    <meta charset="utf-8"> 
    <title>Unicode Degree Symbol on HTML5 Canvas</title> 
    <style type="text/css" media="screen"> 
    body { margin:4em; background:#eee; text-align:center } 
    canvas { background:#fff; border:1px solid #ccc; display:block; margin:2em auto } 
    </style> 
</head><body> 
    <canvas></canvas> 
    <p>Unicode characters 'just work' with a proper setup, e.g. "212° Fahrenheit"</p> 
    <script type="text/javascript" charset="utf-8"> 
    var c = document.getElementsByTagName('canvas')[0]; 
    c.width = c.height = 400; 

    var ctx = c.getContext('2d'); 
    ctx.font = "bold 24px sans-serif"; 
    ctx.fillText("212° Fahrenheit", 100, 100); 
    </script> 
</body></html> 
0

Bu işlemi şuradan görebilirsiniz. Virsal Studio 2008 kullanıyorum, sorun var. Editörünüzün krom incelemesiyle görüntülenen Unicode karakterini doğru olarak içe aktarıp aktarmadığını öğrenebilirim.