2011-01-12 39 views
7

Tôi không biết tại sao nhưng tôi không thể sử dụng biểu tượng "độ" (°) bằng fillText. Tôi đã thử mọi thứ: ALT + 248, ALT + 0176, & deg ;, sao chép/dán từ web ... Tất cả những gì tôi nhận được là không có gì hoặc & deg ;. Hoạt động tốt trong mã hoặc trên cùng một trang trong HTML - chỉ không có trong canvas.HTML5 Canvas: Biểu tượng độ

Bất kỳ ai biết cách sửa lỗi này? Cảm ơn.

Trả lời

10

Điều này phù hợp với tôi, sử dụng ký tự Unicode chữ trong văn bản. Xem ví dụ ở đây: http://jsfiddle.net/W5d7D/

là tập tin của bạn nguồn:

  1. lưu lại dưới dạng UTF-8, và
  2. được mô tả như sử dụng một bộ ký tự Unicode, và
  3. mô tả nguồn JavaScript như sử dụng một bộ ký tự Unicode?

Dưới đây là ví dụ độc lập hiển thị Unicode hoạt động trong HTML và trên Canvas. Bạn có thể xem thông tin này trực tuyến tại 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

Đảm bảo rằng trình biên tập javascript hoặc html của bạn hỗ trợ ký tự Unicode. Tôi sử dụng Virsal Studio 2008, nó có vấn đề. Tôi có thể tìm hiểu xem trình chỉnh sửa của bạn có nhập đúng ký tự Unicode bằng cách xem tập lệnh có kiểm tra chrome hay không.