Cách tốt nhất để mã hóa biểu tượng Độ C vào trang web?


85

Tôi nên mã hóa các ký tự đặc biệt vào các trang web như thế nào? Ví dụ, tôi cần ký hiệu ℃ này, mà tôi đã sử dụng chỉ bằng cách sao chép và dán ký tự như bây giờ tôi có thể nhìn thấy. Điều này hoạt động cho các trình duyệt máy tính để bàn mà tôi đã kiểm tra cũng như trên iPad và iPhone nhưng không có gì được hiển thị trên Blackberry mà tôi đã sử dụng để thử nghiệm. Có một tiêu chuẩn thực hành tốt nhất cho việc này?

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


Có tư duy tiêu chuẩn về những gì sẽ sử dụng, UTF-8 vs Hex hay định dạng khác không? Cảm ơn
Evanss

À, xin lỗi, lúc đầu không hiểu câu hỏi của bạn. Tôi tin rằng UTF-8 thường được ưa thích hơn. Đối với bản thân ký hiệu, tôi thường chỉ làm dấu độ theo sau là C viết hoa, như sau: ° C. Tôi không chắc liệu điều này tốt hơn hay tệ hơn giải pháp của bạn. Tôi đoán sự khác biệt lớn nhất là khoảng cách giữa hai ký tự.
Nix

Tôi nghĩ nó cần thiết để biểu tượng này làm theo cách của bạn. Cảm ơn
Evanss

Câu trả lời:


177

Cố gắng thay thế nó bằng °và cũng để đặt bộ ký tự thành utf-8, như Martin gợi ý.

°C sẽ giúp bạn nhận được một cái gì đó như thế này:

Độ C


Câu trả lời hay nhất, theo ý kiến ​​của tôi
Epirocks

Đó là hoàn hảo!
Zobia Kanwal

37

Nếu bạn thực sự muốn sử dụng ký tự DEGREE CELSIUS “℃” thì sao chép và dán là OK, miễn là tài liệu của bạn được mã hóa UTF-8 và khai báo như vậy trong tiêu đề HTTP. Sử dụng tham chiếu ký tự ℃sẽ hoạt động tốt như nhau và sẽ hoạt động độc lập với mã hóa ký tự, nhưng nguồn sẽ khó đọc hơn nhiều.

Vấn đề với Blackberry có lẽ là vấn đề phông chữ. Tôi không biết về phông chữ trên Blackberry, nhưng kho phông chữ có thể bị hạn chế. Bạn không thể làm gì về điều này trong HTML, nhưng bạn có thể sử dụng CSS, có thể với @font face.

Nhưng hiếm khi có bất kỳ lý do gì để sử dụng DEGREE CELSIUS. Nó là một ký tự tương thích, được bao gồm trong Unicode do nó được sử dụng trong văn bản Đông Á. Tiêu chuẩn Unicode nói rõ ràng trong Chương 15 (phần 15.2, trang 497):

“Trong sử dụng bình thường, tốt hơn là thể hiện độ C“ ° C ”bằng một chuỗi ký hiệu độ U + 00B0 + U + 0043 chữ cái viết hoa latin c, thay vì U + 2103 độ C.”

Dấu độ “°” có thể được nhập theo nhiều cách, bao gồm cả tham chiếu thực thể `°, nhưng thông thường, tốt nhất là chèn nó dưới dạng ký tự, thông qua sao chép và dán hoặc cách khác. Trên Windows, bạn có thể sử dụng Alt 0176.

Lưu ý: Một số trình duyệt có thể coi dấu độ như cho phép ngắt dòng sau dấu hiệu ngay cả khi không có khoảng trắng nào xen vào, đặt “°” và “C” sau đây trên các dòng riêng biệt. Có nhiều cách khác nhau để ngăn chặn điều này . Một phương pháp đơn giản và hiệu quả là thế này: <nobr>42 °C</nobr>.


1
Một trong những câu trả lời hay nhất mà tôi đã đọc, với trích dẫn trực tiếp từ nguồn chính. Tuyệt vời!!
htm11h

1
Tại sao lại phức tạp như vậy? Độ C ở phía trên bên trái của bàn phím của tôi chỉ cần nhấn vào nó?
Pascal

2
@Pascal, đó có thể là bàn phím gì?
Jukka K. Korpela

Sử dụng style = "white-space: nowrap" thay vì <nobr>. developer.mozilla.org/en-US/docs/Web/HTML/Element/nobr
IceWarrior353 27/09/18

10

Sử dụng sup trên chữ cái "o" và chữ "C" viết hoa

<sup>o</sup>C

Hoạt động trên tất cả các trình duyệt và IE6 +


11
Bức thư «o» không phải là biểu tượng độ, nhưng nó có thể trông giống như biểu tượng độ cho con người. Đây là một vụ hack và sẽ khiến máy tính khó hiểu - như trình đọc màn hình và công cụ tìm kiếm.
gregers


4

Thêm thẻ meta vào tiêu đề của bạn

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

Điều này mở rộng số lượng ký tự bạn có thể sử dụng.


5
<meta charset="utf-8"/>Tôi tin rằng trong HTML5, bạn chỉ có thể sử dụng .
Drew Noakes

Trong trường hợp của tôi, đây là giải pháp thực sự. VS2015 hoạt động theo những gì thẻ meta "Loại nội dung" cho biết.
German Latorre

Việc thêm điều này đã giải quyết được sự cố cho tôi trong đó a °đang được hiển thị như °trong imgthẻ alt mà hình ảnh nguồn bị thiếu.
StephenT

1
  1. Dấu hiệu thuộc về số chứ không phải chữ "C". Bạn có thể coi dấu bằng như một ký hiệu số, giống như dấu trừ.
  2. Sẽ không có bất kỳ khoảng trống giữa các chữ số và dấu mức độ.
  3. phải là một không gian không bị phá hủy giữa dấu mức độ và "C".

Bạn có thể cung cấp một nguồn của những xác nhận?
Matthieu

0

Nếu sử dụng Java-JSP, Điều phù hợp với tôi là dán bên dưới vào trang JSP

<%@ page contentType="text/html; charset=UTF-8" %>
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.