Mã hóa mã html

Hướng dẫn này tập hợp và sắp xếp các con trỏ tới các bài viết, được tập hợp lại với nhau, giúp bạn hiểu cách xử lý các khía cạnh thiết yếu của việc soạn thảo HTML và CSS liên quan đến các ký tự và mã hóa ký tự

Tóm lại

Lưu các trang của bạn dưới dạng UTF-8

Luôn khai báo mã hóa tài liệu của bạn. Sử dụng tiêu đề HTTP nếu bạn có thể. Luôn sử dụng khai báo trong tài liệu

Bạn có thể sử dụng tiêu đề @charset hoặc HTTP để khai báo mã hóa biểu định kiểu của mình, nhưng bạn chỉ cần làm như vậy nếu biểu định kiểu của bạn chứa các ký tự không phải ASCII và vì lý do nào đó, bạn không thể dựa vào mã hóa của HTML và

Cố gắng tránh sử dụng dấu thứ tự byte trong UTF-8 và đảm bảo rằng mã HTML của bạn được lưu ở dạng chuẩn hóa Unicode C [NFC]

Tránh sử dụng ký tự thoát, ngoại trừ các ký tự vô hình hoặc mơ hồ. Và không sử dụng các ký tự điều khiển Unicode khi bạn có thể sử dụng đánh dấu thay thế

Thông tin cơ bản cần thiết

Nếu bạn là người mới làm quen với chủ đề này, có một số khái niệm cơ bản nhất định mà bạn cần hiểu nếu muốn làm theo các phần khác nhau của hướng dẫn. Nếu bạn quen thuộc với những khái niệm này, bạn có thể

Chọn và áp dụng mã hóa ký tự

Nội dung bao gồm một chuỗi các ký tự. Các ký tự đại diện cho các chữ cái trong bảng chữ cái, dấu chấm câu, v.v. Nhưng nội dung được lưu trữ trong máy tính dưới dạng một chuỗi byte, là các giá trị số. Đôi khi nhiều hơn một byte được sử dụng để đại diện cho một ký tự. Giống như mật mã được sử dụng trong hoạt động gián điệp, cách chuỗi byte được chuyển đổi thành ký tự phụ thuộc vào khóa nào được sử dụng để mã hóa văn bản. Trong ngữ cảnh này, khóa đó được gọi là mã hóa ký tự. Có nhiều bảng mã ký tự để lựa chọn

Việc chọn và áp dụng mã hóa ký tự đưa ra lời khuyên đơn giản về việc sử dụng mã hóa ký tự nào cho nội dung của bạn và cách áp dụng mã hóa đó

Cách khai báo bảng mã ký tự

Bạn phải luôn chỉ định mã hóa được sử dụng cho trang HTML hoặc XML. Nếu không, bạn có nguy cơ hiểu sai các ký tự trong nội dung của mình. Đây không chỉ là vấn đề về khả năng đọc của con người, ngày càng nhiều máy móc cũng cần hiểu dữ liệu của bạn. Bạn cũng nên kiểm tra xem bạn có đang chỉ định các mã hóa khác nhau ở những nơi khác nhau không

Khai báo mã hóa ký tự trong HTML cung cấp các đề xuất nhanh cho những người chỉ muốn được cho biết phải làm gì và thông tin chi tiết hơn cho những người cần.

Khai báo bảng mã ký tự trong CSS cung cấp thông tin cho CSS

Dấu thứ tự byte [BOM]

Dấu thứ tự byte, hoặc BOM, là thứ bạn sẽ gặp khi sử dụng mã hóa ký tự dựa trên Unicode, chẳng hạn như UTF-8 và UTF-16. Trong một số trường hợp, bạn sẽ cần xóa BOM, trong những trường hợp khác, bạn cần đảm bảo rằng nó ở đó

Dấu thứ tự byte [BOM] trong HTML giúp bạn hiểu các vấn đề

Các dạng chuẩn hóa Unicode

Chuẩn hóa là điều bạn cần lưu ý nếu bạn đang soạn thảo bằng UTF-8, có thể là trang HTML hoặc biểu định kiểu CSS, đặc biệt nếu bạn đang xử lý văn bản trong tập lệnh sử dụng dấu hoặc dấu phụ khác

Chuẩn hóa trong HTML và CSS giải thích thêm điều này

Sử dụng ký tự thoát

Bạn có thể sử dụng thoát ký tự để biểu thị bất kỳ ký tự nào từ bộ ký tự Unicode trong HTML, XML hoặc CSS chỉ bằng các ký tự ASCII

Sử dụng các ký tự thoát trong đánh dấu và CSS cung cấp các phương pháp hay nhất để sử dụng các ký tự thoát và cho bạn biết cách sử dụng chúng khi cần

Ký tự hoặc đánh dấu?

Cuối cùng, có một loạt các ký tự Unicode giống như điều khiển, một số trong đó có vai trò giống như đánh dấu. Câu hỏi đặt ra là bạn nên sử dụng cái nào và nên tránh cái nào?

2- Mã hóa ký tự điều khiển ASCII

  • 3- Mã hóa ký tự điều khiển không phải ASCII
  • 4- Mã hóa ký tự dành riêng
  • 5- Mã hóa ký tự không an toàn
  • 6- Mã hóa URL Javascript
  • Hãy theo dõi chúng tôi trên Fanpage để nhận thông báo mỗi khi có bài viết mới. Facebook

    1- Mã hóa URL

    2- URL mã hóa ký tự điều khiển ASCII, thông tin này xuất hiện trên phần chuỗi truy vấn của URL, giả sử

    
    
    //example.com/somepage?searchText=abc&maxResults=10
    

    3- Mã hóa các ký tự điều khiển không phải ASCII trên đường truyền tải tới Máy chủ hai thông tin

    1. searchText=abc = abc
    2. maxResults=10 = 10

    4- Reserved Characters Encoding searchText with value is

    1. searchText=abc&maxResults=10 = abc&maxResults=10

    5- Mã hóa ký tự không an toàn & = /. ] là các ký tự đặc biệt của URL mà bạn có thể thấy nó xuất hiện trên phần QueryString, nếu bạn muốn duyệt nó theo nghĩa thông thường thì bạn phải mã hóa [mã hóa] nó. Các quy tắc mã hóa [mã hóa] được hiểu bởi trình duyệt và các máy chủ, vì vậy khi máy chủ nhận được một URL đã mã hóa, nó có thể giải mã hóa [decode] để lấy các giá trị ban đầu

    6- Javascript URL Encoding Hãy theo dõi chúng tôi trên Fanpage để nhận thông báo mỗi khi có bài viết mới.
    [Encode]
     Thông tin Facebook có thể được gửi từ trình duyệt tới Máy chủ thông qua một URL, các thông tin này xuất hiện trên chuỗi truy vấn phần . URL at on transfer to Server two information. Nhưng vấn đề ở vị trí của bạn không phải như thế, bạn chỉ muốn tải một nội dung là tìm kiếmVăn bản với giá trị là.
    
    
    //example.com/somepage?searchText=abc%26maxResults%3D10
    

    Một số ký tự như [ & = /. ] là các ký tự đặc biệt của URL mà bạn có thể thấy nó xuất hiện trên phần QueryString, nếu bạn muốn duyệt nó theo nghĩa thông thường thì bạn phải mã hóa [mã hóa] nó. Các quy tắc mã hóa [mã hóa] được hiểu bởi trình duyệt và các máy chủ, vì vậy khi máy chủ nhận được một URL đã mã hóa, nó có thể giải mã hóa [decode] để lấy các giá trị ban đầu. & = /. ] nói trên, có rất nhiều ký tự khác cần phải được mã hóa [mã hóa] để nó có thể truyền tải được trên URL, chẳng hạn các ký tự không thể ở dạng được [ký tự không in được]. Dưới đây là danh sách các ký tự đặc biệt và Mã hóa URL của chúng

    2- Mã hóa ký tự điều khiển ASCII

    3- Ký tự điều khiển không phải ASCII mã hóa 'a' có mã số 97, ký tự 'A' có mã số 65,. chúng là các ký tự thông thường. Nhưng bàn phím còn những phím khác mà đôi khi bạn không nghĩ rằng chúng là các ký tự, chẳng hạn như SHIFT, TAB, ESC, ENTER,. đây là các ký tự không thể in được [ký tự không in được]

    4- Reserved Characters Encoding ASCII bao gồm các ký tự có mã số từ 0 đến 127, hầu hết là các ký tự thông thường, còn lại là các ký tự điều khiển [ASCII Control Characters], chúng bao gồm các ký tự có mã

    5- Mã hóa ký tự không an toàn 6- Mã hóa URL Javascript Hãy theo dõi chúng tôi trên Fanpage để nhận thông báo mỗi khi có bài viết mới. Facebook000Các thông tin có thể được gửi từ trình duyệt tới Máy chủ thông qua một URL, thông tin này xuất hiện trên chuỗi truy vấn của URL, giả sử. URL at on transfer to Server two information. 101Các thông tin có thể được gửi từ trình duyệt tới Máy chủ thông qua một URL, các thông tin này xuất hiện trên phần chuỗi truy vấn của URL, giả sử. URL at on transfer to Server two information. 202Các thông tin có thể được gửi từ trình duyệt tới Máy chủ thông qua một URL, thông tin này xuất hiện trên phần chuỗi truy vấn của URL, giả sử. URL at on transfer to Server two information. 303Các thông tin có thể được gửi từ trình duyệt tới Máy chủ thông qua một URL, các thông tin này xuất hiện trên phần chuỗi truy vấn của URL, giả sử. URL at on transfer to Server two information. 404Các thông tin có thể được gửi từ trình duyệt tới Máy chủ thông qua một URL, các thông tin này xuất hiện trên phần chuỗi truy vấn của URL, giả sử. URL at on transfer to Server two information. 505Các thông tin có thể được gửi từ trình duyệt tới Máy chủ thông qua một URL, các thông tin này xuất hiện trên phần chuỗi truy vấn của URL, giả sử. URL at on transfer to Server two information. 606Các thông tin có thể được gửi từ trình duyệt tới Máy chủ thông qua một URL, thông tin này xuất hiện trên phần chuỗi truy vấn của URL, giả sử. URL at on transfer to Server two information. 707Các thông tin có thể được gửi từ trình duyệt tới Máy chủ thông qua một URL, các thông tin này xuất hiện trên phần chuỗi truy vấn của URL, giả sử. URL at on transfer to Server two information. 808 Nhưng vấn đề ở chỗ ý của bạn không phải như thế, bạn chỉ muốn truyền tải một nội dung là văn bản tìm kiếm với giá trị là. Một số ký tự như [ & = /. ] là các ký tự đặc biệt của URL mà bạn có thể thấy nó xuất hiện trên phần QueryString, nếu bạn muốn duyệt nó theo nghĩa thông thường thì bạn phải mã hóa [mã hóa] nó. Các quy tắc mã hóa [mã hóa] được hiểu bởi trình duyệt và các máy chủ, vì vậy khi máy chủ nhận được một URL đã mã hóa, nó có thể giải mã hóa [decode] để lấy các giá trị ban đầu. 909Ký tựMã hóa [Mã hóa]  10&%26=11%3DCác thông tin có thể được gửi từ trình duyệt tới Máy chủ thông qua một URL, các thông tin này xuất hiện trên phần chuỗi truy vấn của URL, chẳng hạn. URL at on transfer to Server two information. 12 Nhưng vấn đề ở vị trí của bạn không phải như thế, bạn chỉ muốn truyền tải một nội dung là văn bản tìm kiếm với giá trị là. Các thông tin có thể được gửi từ trình duyệt tới Máy chủ thông qua một URL, các thông tin này xuất hiện trên phần chuỗi truy vấn của URL, chẳng hạn. URL at on transfer to Server two information. 13 Nhưng vấn đề ở vị trí của bạn không phải như thế, bạn chỉ muốn truyền tải một nội dung là văn bản tìm kiếm với giá trị là. Một số ký tự như [ & = /. ] là các ký tự đặc biệt của URL mà bạn có thể thấy nó xuất hiện trên phần QueryString, nếu bạn muốn duyệt nó theo nghĩa thông thường thì bạn phải mã hóa [mã hóa] nó. Các quy tắc mã hóa [mã hóa] được hiểu bởi trình duyệt và các máy chủ, vì vậy khi máy chủ nhận được một URL đã mã hóa, nó có thể giải mã hóa [decode] để lấy các giá trị ban đầu. Ký tự 14Mã hóa [Mã hóa]  Các thông tin có thể được gửi từ trình duyệt tới Máy chủ thông qua một URL, các thông tin này xuất hiện trên chuỗi truy vấn của URL, giả sử. URL at on transfer to Server two information. 15 Nhưng vấn đề ở vị trí của bạn không phải như thế, bạn chỉ muốn truyền tải một nội dung là tìm kiếmVăn bản với giá trị là. Các thông tin có thể được gửi từ trình duyệt tới Máy chủ thông qua một URL, các thông tin này xuất hiện trên phần chuỗi truy vấn của URL, chẳng hạn. URL at on transfer to Server two information. 1610Các thông tin có thể được gửi từ trình duyệt tới Máy chủ thông qua một URL, các thông tin này xuất hiện trên phần chuỗi truy vấn của URL, giả sử. URL at on transfer to Server two information. 1711Các thông tin có thể được gửi từ trình duyệt tới Máy chủ thông qua một URL, các thông tin này xuất hiện trên phần chuỗi truy vấn của URL, giả sử. URL at on transfer to Server two information. 1812Các thông tin có thể được gửi từ trình duyệt tới Máy chủ thông qua một URL, các thông tin này xuất hiện trên phần chuỗi truy vấn của URL, giả sử. URL at on transfer to Server two information. 1913Các thông tin có thể được gửi từ trình duyệt tới Máy chủ thông qua một URL, các thông tin này xuất hiện trên phần chuỗi truy vấn của URL, giả sử. URL at on transfer to Server two information. 2014Các thông tin có thể được gửi từ trình duyệt tới Máy chủ thông qua một URL, các thông tin này xuất hiện trên phần chuỗi truy vấn của URL, giả sử. URL at on transfer to Server two information. 2115Các thông tin có thể được gửi từ trình duyệt tới Máy chủ thông qua một URL, các thông tin này xuất hiện trên phần chuỗi truy vấn của URL, giả sử. URL at on transfer to Server two information. 2216Các thông tin có thể được gửi từ trình duyệt tới Máy chủ thông qua một URL, các thông tin này xuất hiện trên phần chuỗi truy vấn của URL, giả sử. URL at on transfer to Server two information. 2317Các thông tin có thể được gửi từ trình duyệt tới Máy chủ thông qua một URL, các thông tin này xuất hiện trên phần chuỗi truy vấn của URL, giả sử. URL at on transfer to Server two information. 2418Các thông tin có thể được gửi từ trình duyệt tới Máy chủ thông qua một URL, các thông tin này xuất hiện trên phần chuỗi truy vấn của URL, giả sử. URL at on transfer to Server two information. 2519Các thông tin có thể được gửi từ trình duyệt tới Máy chủ thông qua một URL, các thông tin này xuất hiện trên phần chuỗi truy vấn của URL, giả sử. URL at on transfer to Server two information. 26 Nhưng vấn đề ở vị trí của bạn không phải như thế, bạn chỉ muốn truyền tải một nội dung là văn bản tìm kiếm với giá trị là. Các thông tin có thể được gửi từ trình duyệt tới Máy chủ thông qua một URL, các thông tin này xuất hiện trên phần chuỗi truy vấn của URL, chẳng hạn. URL at on transfer to Server two information. 27 Nhưng vấn đề ở vị trí của bạn không phải như thế, bạn chỉ muốn truyền tải một nội dung là tìm kiếmVăn bản với giá trị là. Các thông tin có thể được gửi từ trình duyệt tới Máy chủ thông qua một URL, các thông tin này xuất hiện trên phần chuỗi truy vấn của URL, chẳng hạn. URL at on transfer to Server two information. 28 Nhưng vấn đề ở vị trí của bạn không phải như thế, bạn chỉ muốn truyền tải một nội dung là văn bản tìm kiếm với giá trị là. Các thông tin có thể được gửi từ trình duyệt tới Máy chủ thông qua một URL, các thông tin này xuất hiện trên phần chuỗi truy vấn của URL, chẳng hạn. URL at on transfer to Server two information. 29 Nhưng vấn đề ở vị trí của bạn không phải như thế, bạn chỉ muốn truyền tải một nội dung là văn bản tìm kiếm với giá trị là. Các thông tin có thể được gửi từ trình duyệt tới Máy chủ thông qua một URL, các thông tin này xuất hiện trên phần chuỗi truy vấn của URL, chẳng hạn. URL at on transfer to Server two information. 30 Nhưng vấn đề ở vị trí của bạn không phải như thế, bạn chỉ muốn truyền tải một nội dung là văn bản tìm kiếm với giá trị là. Các thông tin có thể được gửi từ trình duyệt tới Máy chủ thông qua một URL, các thông tin này xuất hiện trên phần chuỗi truy vấn của URL, chẳng hạn. URL at on transfer to Server two information. 31 Nhưng vấn đề ở vị trí của bạn không phải như thế, bạn chỉ muốn truyền tải một nội dung là văn bản tìm kiếm với giá trị là. Các thông tin có thể được gửi từ trình duyệt tới Máy chủ thông qua một URL, các thông tin này xuất hiện trên phần chuỗi truy vấn của URL, chẳng hạn. URL at on transfer to Server two information. 127 Nhưng vấn đề ở vị trí của bạn không phải như thế, bạn chỉ muốn truyền tải một nội dung là tìm kiếmVăn bản với giá trị là. Các thông tin có thể được gửi từ trình duyệt tới Máy chủ thông qua một URL, các thông tin này xuất hiện trên phần chuỗi truy vấn của URL, chẳng hạn. URL at on transfer to Server two information

    3- Mã hóa ký tự điều khiển không phải ASCII

    Nhưng vấn đề ở vị trí của bạn không phải như thế, bạn chỉ muốn tải một nội dung là tìm kiếmVăn bản với giá trị là. 128 đến 255 được gọi là ký tự điều khiển không phải ASCII [Ký tự điều khiển không phải ASCII]

    5- Mã hóa ký tự không an toàn 6- Mã hóa URL Javascript Hãy theo dõi chúng tôi trên Fanpage để nhận thông báo mỗi khi có bài viết mới. Facebook12880Các thông tin có thể được gửi từ trình duyệt duyệt tới Máy chủ thông qua một URL, các thông tin này xuất hiện trên phần chuỗi truy vấn của URL, giả sử. URL at on transfer to Server two information. 12981 Nhưng vấn đề ở chỗ ý của bạn không phải như thế, bạn chỉ muốn tải một nội dung là tìm kiếmVăn bản với giá trị là. Một số ký tự như [ & = /. ] là các ký tự đặc biệt của URL mà bạn có thể thấy nó xuất hiện trên phần QueryString, nếu bạn muốn duyệt nó theo nghĩa thông thường thì bạn phải mã hóa [mã hóa] nó. Các quy tắc mã hóa [mã hóa] được hiểu bởi trình duyệt và các máy chủ, vì vậy khi máy chủ nhận được một URL đã mã hóa, nó có thể giải mã hóa [decode] để lấy các giá trị ban đầu. 13082Ký tựMã hóa [Mã hóa]  13183&%2613284=%3D13385 Bổ sung các ký tự đặc biệt [ & = /. ] nói trên, có rất nhiều ký tự khác cần phải được mã hóa [mã hóa] để nó có thể truyền tải được trên URL, chẳng hạn các ký tự không thể ở dạng được [ký tự không in được]. Dưới đây là danh sách các ký tự đặc biệt và Mã hóa URL của chúng. Tất cả các ký tự bạn nhìn thấy trên bàn phím đều có một mã số. Các ký tự giới hạn 'a' có mã số 97, ký tự 'A' có mã số 65,. chúng là các ký tự thông thường. Nhưng bàn phím còn những phím khác mà đôi khi bạn không nghĩ rằng chúng là các ký tự, chẳng hạn như SHIFT, TAB, ESC, ENTER,. đây là các ký tự không thể in được [ký tự không in được]. 13486Bảng ASCII bao gồm các ký tự có mã số từ 0 đến 127, hầu hết là các ký tự thông thường, còn lại là các ký tự điều khiển [ASCII Control Characters], chúng bao gồm các ký tự có mã số trong phạm vi . Decimal13587Hex ValueCharacter13688URL Encode 13789%00%01138%02%03%04139%05%06%07140backspace%08tab141%090alinefeed142%0a0b%0b1430c%0c0d14490carriage return%0d145910e%0e146920f%0f14793%10%1114894%12%1314995%14%1515096% . €158%80%81159‚%82ƒ160%83Các thông tin có thể được gửi từ trình duyệt tới Máy chủ thông qua một URL, các thông tin này xuất hiện trên phần chuỗi truy vấn của URL, chẳng hạn. URL at on transfer to Server two information. 161 Nhưng vấn đề ở vị trí của bạn không phải như thế, bạn chỉ muốn truyền tải một nội dung là tìm kiếmVăn bản với giá trị là. Một số ký tự như [ & = /. ] là các ký tự đặc biệt của URL mà bạn có thể thấy nó xuất hiện trên phần QueryString, nếu bạn muốn duyệt nó theo nghĩa thông thường thì bạn phải mã hóa [mã hóa] nó. Các quy tắc mã hóa [mã hóa] được hiểu bởi trình duyệt và các máy chủ, vì vậy khi máy chủ nhận được một URL đã mã hóa, nó có thể giải mã hóa [decode] để lấy các giá trị ban đầu. Ký tự162Mã hóa [Mã hóa]  &%26163=%3D Ngoài ra các ký tự đặc biệt [ & = /. ] nói trên, có rất nhiều ký tự khác cần phải được mã hóa [mã hóa] để nó có thể truyền tải được trên URL, chẳng hạn các ký tự không thể ở dạng được [ký tự không in được]. Dưới đây là danh sách các ký tự đặc biệt và Mã hóa URL của chúng. 164Tất cả các ký tự bạn nhìn thấy trên bàn phím đều có một số mã. Các ký tự giới hạn 'a' có mã số 97, ký tự 'A' có mã số 65,. chúng là các ký tự thông thường. Nhưng bàn phím còn những phím khác mà đôi khi bạn không nghĩ rằng chúng là các ký tự, chẳng hạn như SHIFT, TAB, ESC, ENTER,. đây là các ký tự không thể in được [ký tự không in được]. Bảng ASCII bao gồm các ký tự có mã số từ 0 đến 127, hầu hết là các ký tự thông thường, còn lại là các ký tự điều khiển [ASCII Control Characters], chúng bao gồm các ký tự có mã số trong phạm vi . Decimal165Hex Value CharacterURL Encode166 %00%01167%02%03%04168%05%06%07169backspace%08tab170%090alinefeed171%0a0b%0b1720c%0c0d173carriage return%0d0e174%0e0f%0f175%10%11%132176%16174%16 . €%80184%81‚185%82ƒ%83186„%84…187%85†%86188‡%87ˆ189%88‰%891908aŠ%8a1918b‹%8b1928cŒ%8c1938d%8d¥48eŽ%98e195%f195%f195%

    4- Mã hóa ký tự dành riêng

    Bảng mã hóa URL của các ký tự không an toàn [Ký tự không an toàn], có thể bạn nhìn thấy chúng xuất hiện trên bàn phím. Mã hóa URL của các ký tự không an toàn [Ký tự không an toàn], có thể xảy ra khi bạn nhìn thấy chúng xuất hiện trên bàn phím

    Chủ Đề