Mã hóa Cyrillic trong html. Giải quyết vấn đề mã hóa trang web không chính xác

Một trong những vấn đề phổ biến nhất mà người mới bắt đầu phải đối mặt Quản trị trang web(và không chỉ người mới bắt đầu), điều này vấn đề với mã hóa trên trang web. Ngay cả đối với tôi nó liên tục xuất hiện khi tạo trang web " chữ abracadabra"Nhưng may mắn thay, tôi biết rất rõ cách giải quyết vấn đề này, vì vậy tôi sắp xếp mọi thứ theo thứ tự trong vòng vài giây. Và trong bài viết này, tôi sẽ cố gắng dạy bạn một cách nhanh chóng." giải quyết các vấn đề liên quan đến mã hóa trên trang web.

Điều đáng chú ý đầu tiên là tất cả các vấn đề về sự xuất hiện của “abracadabra” đều liên quan đến sự không khớp giữa mã hóa tài liệu và mã hóa do trình duyệt đặt. Giả sử một tài liệu trong windows-1251, nhưng vì lý do nào đó trình duyệt hiển thị UTF-8. Và nguồn gốc của sự khác biệt như vậy có thể là do những nguyên nhân sau.

Lý do đầu tiên

Thẻ meta được viết sai loại nội dung. Hãy cẩn thận, nó phải luôn chứa mã hóa mà tài liệu của bạn được viết.

Lý do thứ hai

Có vẻ như thẻ meta được viết theo cách bạn muốn và trình duyệt hiển thị chính xác những gì bạn muốn, nhưng vì lý do nào đó vẫn có vấn đề với việc mã hóa. Thủ phạm ở đây gần như chắc chắn là bản thân tài liệu đó có mã hóa khác. Nếu bạn làm việc ở Sổ tay++, thì ở dưới cùng bên phải có tên mã hóa của tài liệu hiện tại (ví dụ: ANSI). Nếu bạn đặt một thẻ meta UTF-8 và bản thân tài liệu được viết bằng ANSI, sau đó thực hiện chuyển đổi thành UTF-8(thông qua thực đơn " Mã hóa" và chỉ " Chuyển đổi sang UTF-8 mà không cần BOM").

Lý do thứ ba

Lý do thứ tư

Và cuối cùng, lý do phổ biến cuối cùng là vấn đề với mã hóa trong cơ sở dữ liệu. Trước tiên, hãy đảm bảo rằng tất cả các bảng và trường của bạn được viết bằng cùng một mã hóa, khớp với mã hóa của phần còn lại của trang web. Nếu điều này không có ích thì ngay sau khi kết nối trong tập lệnh, hãy chạy yêu cầu sau:

ĐẶT TÊN "utf8"

Thay vì " utf8" có thể có cách mã hóa khác. Sau đó, tất cả dữ liệu từ cơ sở dữ liệu sẽ xuất hiện ở dạng mã hóa chính xác.

Trong bài viết này, tôi hy vọng tôi đã giải thích ít nhất: 90% vấn đề liên quan đến sự xuất hiện của "lời nói vô nghĩa" trên trang web. Bây giờ bạn phải giải quyết một vấn đề phổ biến và đơn giản như mã hóa không chính xác ngay lập tức.

Bộ giải mã để tìm hiểu mã hóa tài liệu và giải mã các ký tự. Để thực hiện việc này, hãy mở chương trình trình duyệt của bạn và theo liên kết http://www.artlebedev.ru/tools/decoding/. Bộ giải mã này được tạo ra để giải mã các email nhằm giúp người dùng đọc được những email không rõ ràng.

Tim ra mã hóa văn bản, sao chép nó vào bảng nhớ tạm, sau đó nhấp chuột phải vào trường bộ giải mã và chọn lệnh “Dán”. Tiếp theo, nhấp vào nút “Giải mã”. Văn bản được giải mã sẽ xuất hiện trong trường và bên dưới trên trang sẽ chỉ ra mã hóa nguồn và mã hóa mà văn bản được mã hóa lại.

Tải xuống một chương trình đặc biệt để xác định mã hóa cũng như chuyển mã văn bản, chẳng hạn như chương trình Tcode. Để thực hiện việc này, hãy theo liên kết http://it.sander.su/download.php, bấm vào link TCode, đợi nó tải tài liệu. Sau khi quá trình tải xuống hoàn tất, hãy giải nén tệp lưu trữ vào bất kỳ thư mục nào và chạy tệp thực thi.

Dán văn bản từ tài liệu, mà bạn cần tìm hiểu mã hóa hoặc chọn nút “Mở tệp” trên thanh công cụ. Tiếp theo, nhấp vào nút ở cuối màn hình “Recode”. Văn bản từ tài liệu sẽ được tự động mã hóa lại thành đúng mã hóa. Mã hóa ban đầu sẽ được hiển thị trên thanh trạng thái và phần trăm nhận dạng ký tự cũng sẽ được hiển thị. Bằng cách di chuột qua dòng này, bạn có thể xác định biểu tượng nào không phải là chương trình.

Cài đặt AkelPad, có thể nhận dạng mã hóa tập tin. Để thực hiện việc này, hãy theo liên kết http://akelpad.sourceforge.net/ru/download.php và chọn phiên bản mong muốn để tải xuống. Sau khi cài đặt, khởi động chương trình. Dán văn bản từ tài liệuđể xác định mã hóa.

Chọn menu "Mã hóa" và lệnh "Xác định" mã hóa"hoặc gọi lệnh này bằng tổ hợp phím Alt+F5. Một cửa sổ sẽ xuất hiện trong đó mã hóa nguồn sẽ được chỉ định và cũng sẽ cung cấp khả năng chuyển mã văn bản thành mã hóa cần thiết để đọc văn bản mã hóa.

Nguồn:

  • mã hóa văn bản ASCII

Đôi khi tệp hoặc trang web được yêu cầu không mở và khi nó hiển thị, chỉ hiển thị các ký tự lạ. Đôi khi trình soạn thảo văn bản hoặc trình duyệt không thể xác định được những thông tin cần thiết mã hóa. Trong trường hợp này, bạn phải tự mình chọn nó bằng các tiện ích bổ sung.

Bạn sẽ cần

  • Trình soạn thảo văn bản hoạt động với số lượng lớn mã hóa hoặc chương trình giải mã.

Hướng dẫn

Nếu một tập tin được mở không chính xác trong một trình soạn thảo thì hoàn toàn không phải là nó có lỗi. mã hóa. Bạn nên thử cùng một tệp trong chương trình. Một trong những tiện ích trong hầu hết các trường hợp xác định chính xác bộ ký tự được yêu cầu là trình soạn thảo Notepad++.

Ngoài ra còn có những loại có khả năng giải mã các văn bản tiếng Nga ở các bảng mã khác nhau. Không còn nghi ngờ gì nữa, người dẫn đầu là ứng dụng Stirlitz dành cho Windows. Nó biết hầu hết tất cả các mã và biết nhiều phương pháp phiên âm. Hơn nữa, chương trình này có khả năng thực hiện các thao tác chuyển đổi văn bản từ định dạng gốc sang bất kỳ định dạng nào khác.

Trong Linux, để mở bất kỳ tệp nào có chứa phần mềm lạ mã hóa, bạn có thể sử dụng một số lệnh chuyển đổi bảng điều khiển hoặc các chương trình được tạo sẵn. Trong QT, có một ứng dụng tên là QTexTransformer, ứng dụng này sẽ giúp bạn xác định các mã hóa và thực hiện các phép biến đổi thích hợp.Trong Linux, có nhiều mô-đun ngôn ngữ được viết bằng Perl. Ví dụ: Lingua DetectCharset hoặc DetectCyrillic (để phát hiện các ký tự Cyrillic). Chương trình mousepad hiển thị tốt các tập tin Windows. Để chuyển đổi, bạn cũng có thể sử dụng bảng điều khiển “econv path_to_file”, nó sẽ xác định độc lập dòng điện mã hóa và chuyển đổi nó sang ngôn ngữ hiện tại.

Lời khuyên hữu ích

Trình xử lý văn bản Word thực hiện tốt công việc chọn mã hóa phù hợp. Ngay cả khi tệp chưa được mở trong các trình chỉnh sửa khác, chức năng “Chọn tự động” sẽ hoạt động trong đó.

Nguồn:

  • Một trong những phần mềm giải mã văn bản nổi tiếng nhất năm 2019

Chắc hẳn ai cũng ít nhất một lần gặp phải sự cố như mã hóa được xác định sai. Một lá thư đến hộp thư đến email của bạn với các ký tự “không thể đọc được” thay vì các chữ cái tiếng Nga thông thường hoặc bạn được cung cấp một tài liệu văn bản nhưng không thể đọc được vì nó chứa đầy những “chữ viết nguệch ngoạc” khó hiểu. Tất cả các trường hợp này là ví dụ về mã hóa được xác định không chính xác, nghĩa là người gửi đã sử dụng một mã hóa khi tạo thư hoặc tài liệu và bạn đang cố mở văn bản bằng một mã hóa khác.

Bạn sẽ cần

  • Máy tính chạy hệ điều hành, truy cập Internet, soạn thảo văn bản (ví dụ AkelPad)

Hướng dẫn

Có một số cách để xác định điều này. Một trong số đó là các dịch vụ đặc biệt để xác định mã hóa trong . Ví dụ: vào trang web http://charset.ru/, chèn “không thể đọc được” vào trường đặc biệt và nhấp vào nút “Giải mã”.

Cố gắng tự động phát hiện mã hóa bằng trình soạn thảo văn bản. Thực tế là nhiều trình soạn thảo văn bản (ví dụ: AkelPad) có thể tự động nhận dạng mã hóa "không thể đọc được". Để thực hiện việc này, hãy chọn “Mã hóa” - “Xác định mã hóa” ở menu trên cùng hoặc nhấn ALT+F5 (trong trình soạn thảo văn bản AkelPad).

Nguồn:

  • AkelPad

Văn bản trong tệp, email hoặc trang web có thể được nhập bằng bất kỳ ngôn ngữ nào và được lưu trữ bằng nhiều loại mã hóa máy tính. Vấn đề không chỉ nằm ở sự đa dạng của các bảng mã hiện đại, ít nhiều có thứ tự, mà còn ở việc lưu trữ các tài liệu chủ yếu có giá trị lịch sử. Cũng có trường hợp tài liệu được lưu nhiều lần ở các bảng mã khác nhau. Nếu văn bản mở ra dưới dạng một tập hợp các ký tự khó hiểu thì nó phải được chuyển sang dạng có thể đọc được.

Khá thường xuyên, các blogger mới làm quen và không chỉ những người mới bắt đầu phải đối mặt với vấn đề mã hóa trang html. Khi thay vì văn bản và các ký tự có thể đọc được, CRACKS không thể hiểu được được hiển thị. Đây là tên được đặt cho các ký hiệu không tương ứng với những ký hiệu sẽ được hiển thị trên trang. Những chữ tượng hình khó hiểu đến từ đâu?

Để hiểu điều này, bạn cần hiểu mã hóa trang html là gì. Bất kỳ văn bản nào trên máy tính đều được biểu diễn dưới dạng tập hợp byte. Trong mỗi byte này, chỉ có một ký tự duy nhất được mã hóa bằng một mã cụ thể. Để giải mã hoặc giải mã chính xác một tập hợp byte và hiển thị nó ở dạng người có thể đọc được, trình duyệt cần phải khớp với một trong các bảng mã.

Mã hóa cơ bản là mã hóa ASCII, chứa mã cho 128 ký tự của bảng chữ cái Latinh và các ký tự đặc biệt (ngoặc, lưới, v.v.). Sau đó, mã hóa ký tự tiếng Nga đầu tiên CP866 và KOI8-R xuất hiện, và từ đó xuất hiện mã hóa windows-1251 được các quản trị viên web ngày nay biết đến. Mặc dù tất cả các bảng mã này được thiết kế để hiển thị văn bản tiếng Nga, nhưng chúng đều khác nhau về mã.

Nếu văn bản được viết bằng mã hóa CP866 và trình duyệt cố gắng giải mã nó bằng bảng mã windows-1251, thì kết quả là chúng ta sẽ nhận được những từ không thể đọc được. Ngoài tên của các bảng mã mà tôi đã đưa ra ở đây, còn có rất nhiều trích dẫn. Với lượng bảng mã dồi dào như vậy, vấn đề về khả năng tương thích mã hóa đã nảy sinh. Câu hỏi về việc tạo ra một bảng mã phổ quát đã trở nên rất cấp bách. Ngày nay, mã hóa phổ quát utf-8 đã được phát minh. Khi lập trình một trang web, có bốn điểm yêu cầu phải tuân thủ một tiêu chuẩn mã hóa văn bản duy nhất.

  • Mã hóa tập lệnh.
  • Mã hóa bảng MySQL.
  • Việc mã hóa trang HTML.
  • Ngôn ngữ được sử dụng bởi trình duyệt của người dùng.

Trong tất cả các thành phần này của trang web, nên sử dụng một mã hóa duy nhất - tốt nhất là utf-8, vì nó phổ biến. Nếu bạn nhấn tổ hợp phím CTRL+U, bạn có thể xem mã trang, hiển thị mã hóa nào được sử dụng cho tài liệu này.

Nếu bạn mở blog của mình và thấy một số ký tự lạ thay vì các ký tự tiếng Nga, điều đó có nghĩa là mã hóa được đặt không chính xác.

Làm thế nào để thay đổi mã hóa?

Để loại bỏ các lỗi và sự cố khi mã hóa blog của bạn, chúng tôi sử dụng ứng dụng khách FTP. Với sự trợ giúp của nó, hãy sao chép tệp wp-config.php vào “Desktop” trên máy tính của bạn và mở nó bằng trình soạn thảo văn bản Notepad++. Tệp này chứa thông tin về blog của bạn - bao gồm mật khẩu, mã hóa cơ sở dữ liệu, v.v. Hãy xem liệu mã hóa có phải là mã nào khác không, nó cần được đổi thành UTF-8.

  • -save trong mã hóa này.
  • -bên trong mã Cơ sở dữ liệu, thay đổi mã hóa thành UTF-8.

Chúng tôi lưu tệp trong trình soạn thảo Notepad ++, ở giá trị “UTF-8 không có chữ ký BOM” và tải tệp lên máy chủ của chúng tôi, tức là chúng tôi thay đổi tệp wp-config.php cũ trên máy chủ , Về mới.

Theo quy định, những hành động này là đủ để mọi thứ được hiển thị chính xác trên blog của bạn. Nếu sau các bước trên không có tác dụng, bạn có thể thử cách khác để thay đổi mã hóa. Để thực hiện việc này, bạn cần thực hiện các thay đổi đối với tệp .htaccess. Để sửa lỗi này, hãy mở tệp .htaccess bằng trình soạn thảo Notepad++ và thêm một trong những dòng sau vào đầu:

  • AddDefaultCharset UTF-8
  • Bộ ký tự Tắt Bật
  • Bộ ký tựMặc định UTF-8
  • Bộ ký tựSourceEnc UTF-8

Có thể chỉ cần thay đổi một trong các lựa chọn là đủ; đôi khi lựa chọn đầu tiên là đủ. Nếu nó không hoạt động, chúng tôi sẽ thực hiện thủ công các tùy chọn sau, nhập từng tùy chọn sau. Đừng quên chuỗi hành động:

  1. Mở tệp trong trình chỉnh sửa.
  2. Chúng tôi đang thực hiện những thay đổi.
  3. Cứu.
  4. Tải lên lưu trữ.
  5. Hãy kiểm tra.

Tôi cũng muốn đề cập đến một trong những vấn đề có thể phát sinh và tôi gặp phải khi tạo trang chụp. Khi tải các tập tin trang chụp lên hosting, tình trạng mã hóa không khớp cũng có thể phát sinh. Trong trường hợp này, bạn cần sửa lại tệp index.html. Để thực hiện việc này, hãy sử dụng FaleZilla, giải nén tệp và chuyển nó vào “Máy tính để bàn” trên máy tính của bạn. Tiếp theo, mở file bằng Notepad thông thường.

Sau khi tệp được mở trong Notepad, hãy nhấp chuột trái vào “Tệp” và “Lưu dưới dạng…”.

Đặt bộ ký tự

Thẻ meta

Bạn cần thêm một thẻ meta đặc biệt vào mỗi trang (hoặc mẫu tiêu đề) để cho trình duyệt biết bộ ký tự nào sẽ sử dụng để hiển thị văn bản. Thẻ này là tiêu chuẩn và thường trông như thế này:

bộ ký tự=UTF-8» />

bộ ký tự=”utf-8″/> (tùy chọn cho HTML 5)

Bạn cần dán nó vào phần - tốt hơn ngay từ đầu, ngay sau phần mở đầu :

Thẻ mã hóa meta

Qua .htaccess (nếu vẫn thất bại)

Thông thường hai tùy chọn đầu tiên là đủ và trình duyệt hiển thị văn bản làm cách nào để. Nhưng một số trong số họ có thể có vấn đề và do đó bạn có thể nhờ đến sự trợ giúp tập tin .htaccess.

Để làm điều này, bạn cần viết dòng sau vào đó:

AddDefaultCharset utf-8

Đó là tất cả. Nếu bạn áp dụng tuần tự 3 phương pháp cài đặt mã hóa này cho dự án của mình thì rất có thể rằng mọi thứ sẽ được hiển thị như bình thường, gần 100%.

Làm thế nào để “nhìn thấy” những gì ẩn sau những biểu tượng lạ trên một trang web?

Nếu bạn vào một trang web, thấy “từ điên” và muốn xem văn bản bình thường thì chỉ có hai cách:

  • thông báo cho chủ sở hữu trang web để mọi thứ được cấu hình đúng cách
  • hãy thử tự mình đoán mã hóa. Điều này được thực hiện bằng cách sử dụng các công cụ trình duyệt tiêu chuẩn. Ví dụ: trong Chrome, bạn cần nhấp vào menu "Công cụ => Mã hóa" và từ một danh sách lớn, hãy chọn bộ ký tự thích hợp (tức là đoán).

May mắn thay, hầu hết tất cả các dự án web hiện đại đều được thực hiện bằng mã hóa UTF-8, mã hóa “phổ quát” cho các bảng chữ cái khác nhau và do đó ngày càng ít nhìn thấy những ký tự lạ này trên Internet.

Để các trang trên trang web của bạn được hiển thị chính xác trong tất cả các trình duyệt và trên tất cả các loại thiết bị, bạn cần chú ý cài đặt mã hóa chính xác. Việc không tuân thủ một số điều kiện mà chúng ta sẽ thảo luận chi tiết hôm nay có thể dẫn đến việc văn bản biến thành một tập hợp các ký tự vô nghĩa và đơn giản là không thể đọc được (krakozyabry).

Tại sao các văn bản tồi tệ được hiển thị thay vì văn bản bình thường?

Mỗi trang trên trang web của bạn phải có một mã hóa cụ thể. Cần phải thông báo cho trình duyệt về loại mã hóa hiện đang được sử dụng bằng cách chuyển các tiêu đề đặc biệt. Trong các tiêu đề này, bạn phải chỉ định mã hóa tương ứng với mã bạn sử dụng trong nội dung tài liệu được đăng trên trang web (trên các trang của nó).

Các trình duyệt hiện đại có thể tự xác định mã hóa tài liệu nếu quản trị viên web quên chỉ định rõ ràng. Đôi khi xảy ra mâu thuẫn giữa “ý kiến” của trình duyệt và thực tế, do đó xuất hiện một tập hợp các ký tự không thể đọc được. Một tập hợp những điều vô nghĩa có thể có nhiều hình thức khác nhau, đôi khi nó sẽ chỉ là những ký hiệu lạ, tương tự như chữ tượng hình cổ, và đôi khi chỉ là những câu hỏi hoặc câu hỏi bên trong những viên kim cương đen. Nhìn chung, việc trình duyệt hiển thị loại nội dung tào lao nào không quá quan trọng mà điều quan trọng là một người không thể đọc được chúng.

Nếu bạn gặp phải vấn đề về mã hóa được chỉ định không chính xác và thấy trên trang web của mình có nội dung nào đó mà bạn không thể đọc được, trước hết, hãy sử dụng Bộ giải mã đặc biệt được phát triển trong studio của Artemy Lebedev. Để thực hiện việc này, chỉ cần sao chép văn bản bạn muốn giải mã, dán nó vào trường đặc biệt và nhấp vào “Giải mã”. Nếu giải mã thành công, bạn sẽ thấy văn bản đã có thể đọc được, cũng như mã hóa ban đầu và đường dẫn mà chương trình phải trải qua để xuất ra kết quả.

Đúng hơn, tất cả những điều này là cần thiết đối với những người dùng nâng cao, những người mà thông tin nhận được có thể trợ giúp họ theo một cách nào đó. Có lẽ kết quả của các hành động của chương trình sẽ cho bạn một ý tưởng và bạn sẽ tìm ra nguồn gốc của những điều tồi tệ trên trang web của mình và nhanh chóng khắc phục tình hình. Và nếu các thao tác được thực hiện không cho bạn biết bất cứ điều gì, thì hãy tiếp tục.

Cách chọn mã hóa phù hợp

Trong bài viết này, chúng ta sẽ không đi sâu vào tìm hiểu xem có những loại mã hóa nào và chúng khác nhau như thế nào, bởi vì... Chúng tôi không muốn khiến bản thân hoặc bạn bị quá tải với những thông tin không cần thiết và vì mục đích của bài viết hôm nay, điều này đã không xảy ra. Điều đáng chú ý là thực tế là trên một trang web tiếng Nga, việc cài đặt mã hóa windows-1251, được mô tả đầy đủ trong bài viết tuyệt vời trên Wikipedia, hoàn toàn không có ý nghĩa gì. Ngay cả khi tất cả các văn bản trên đó sẽ được viết riêng bằng tiếng Nga và sẽ không có các ký tự không chuẩn. Thay vào đó, bạn chỉ cần chọn mã hóa phổ quát UTF-8, coi đây là mã hóa nhất định mà không cần phải bận tâm với những thông tin không cần thiết.

Thực tế là không có ích gì khi chọn một mã hóa chỉ hỗ trợ các ký tự từ các ngôn ngữ Slavic, chẳng hạn như tiếng Nga, tiếng Ukraina, tiếng Belarus, tiếng Serbia, tiếng Macedonia và tiếng Bungari cho trang web của bạn. Tại sao lại giới hạn bản thân ngay từ đầu và tự cam chịu những vấn đề có thể xảy ra trong tương lai. Bạn sẽ làm gì nếu cần chèn một ký tự không được hỗ trợ?

UTF-8 (từ Định dạng chuyển đổi Unicode tiếng Anh) là định dạng chuyển đổi Unicode tám bit đã nhận được sự công nhận trên toàn thế giới và được tiêu chuẩn hóa một cách chính xác để tránh các vấn đề liên quan đến sự xuất hiện của từ vô nghĩa và nhầm lẫn với các văn bản không thể đọc được. Từ đó chúng ta có thể kết luận một cách an toàn rằng trong trường hợp này, bạn cần chọn cái lớn hơn trong hai tệ nạn và ngủ yên mà không cần đi sâu vào chi tiết, vì mọi thứ đều rõ ràng ở đây. Nhìn vào kích thước của Sao Mộc và Sao Kim để so sánh.

Những cách cơ bản để đặt mã hóa chính xác

Rất thường xuyên, các vấn đề về mã hóa trang web phát sinh không phải vì không có điều kiện nào mà chúng tôi sẽ cho bạn biết được đáp ứng, mà chỉ cần không đáp ứng được một trong số chúng là đủ khiến văn bản trên trang web của bạn bắt đầu hiển thị không chính xác. Sau khi bạn đặt mã hóa bằng tất cả các phương pháp trên, vấn đề sẽ được giải quyết với xác suất 99,9%. Chúng tôi đi đến kết luận này dựa trên nhiều năm kinh nghiệm làm việc với các trang web trên nhiều nền tảng lưu trữ khác nhau, sử dụng nhiều hệ thống quản trị và cài đặt máy chủ khác nhau.

Mã hóa trong .htaccess - AddDefaultCharset

Trước hết, bạn cần đặt mã hóa mặc định cho tất cả các trang trên trang web bằng cách sử dụng một lệnh htaccess rất hữu ích - AddDefaultCharset, nghĩa đen là “Thêm DefaultCharset”. Việc này được thực hiện rất đơn giản:

AddDefaultCharset UTF-8

Nếu bạn không biết nó là gì , sau đó chỉ cần tạo một tệp văn bản trong Notepad, sau đó sử dụng Total Commander, đổi tên tệp đó thành tệp không có tiêu đề với phần mở rộng HTACCESS ( - đây chính xác là tên đầy đủ của tệp của bạn). Sau đó, tải tệp mới tạo lên thư mục gốc của trang web của bạn (ví dụ: ở cùng nơi đặt tệp thực thi chính chỉ mục.php). Và đừng quên chèn dòng có mã hóa mặc định mà chúng tôi vừa cung cấp.

Mã hóa bằng bộ ký tự meta

Thẻ meta có khả năng gửi thông tin về trang tới trình duyệt dưới dạng tiêu đề đặc biệt, một trong số đó chính xác là những gì chúng ta cần - bộ ký tự. Nói chung, thẻ meta có thể có tối đa 4 thuộc tính khác nhau:

  1. nội dung;
  2. http-tương đương;
  3. tên;
  4. cơ chế.

Trên thực tế, trong bốn thuộc tính được trình bày, chỉ có một thuộc tính bắt buộc - nội dung, nhưng vẫn có ngoại lệ. Ví dụ: trong trường hợp của chúng tôi, chúng tôi sẽ sử dụng phiên bản rút gọn của mục nhập và chúng tôi sẽ đặt mã hóa bằng thẻ meta chính xác như thế này:

Định dạng ghi âm cũ đã chìm vào quên lãng từ lâu và không còn ích gì khi sử dụng nó nữa:

Như bạn đã biết, thẻ meta thường được đặt bên trong vùng chứa cái đầu. Tất cả mọi người, không có ngoại lệ, có lẽ đã biết về điều này. Thực hiện thao tác này và chúng tôi sẽ chuyển sang mục tiếp theo trong danh sách của chúng tôi.

Mã hóa tệp bằng hàm PHP tiêu đề

Phương pháp này chỉ phù hợp với những ai triển khai trang web bằng ngôn ngữ lập trình phổ biến nhất hiện nay, chủ yếu tập trung vào việc tạo trang web - PHP (Hyper Text Preprocessor). Để giải quyết vấn đề đặt ra trong bài viết này, chúng ta sẽ sử dụng hàm header() tích hợp tuyệt vời, được thiết kế để truyền các tiêu đề, tương tự như thẻ meta, nhưng có một điểm khác biệt nhỏ là hành động được thực hiện từ tập lệnh PHP chứ không phải thông qua Đầu ra mã HTML.

Đặt mã hóa UTF-8 cho tệp bằng hàm tiêu đề() khá đơn giản - bạn chỉ cần dán mã đã cho vào đầu trang, nhưng tất nhiên là bên trong phạm vi PHP, được biểu thị như sau:hoặc là -.

Header("Loại nội dung: text/html; charset=utf-8");

Điểm quan trọng nhất ở đây là chúng ta chỉ có quyền truyền các tiêu đề nếu trước đó chưa có đầu ra nào từ tập lệnh. Đó là lý do tại sao chúng tôi chèn mã này vào đầu trang. Bạn cần thực hiện điều này một cách khôn ngoan và hiểu rõ điều gì đang xảy ra, bởi vì bạn có thể chắc chắn rằng bạn đang chèn tiêu đề vào đầu tệp, nhưng bạn có thể không biết rằng tệp này được sử dụng trong một tệp khác mà nó nằm trong đó. được kéo bằng hàm yêu cầu hoặc bao gồm sau khi thông tin nhất định đã được hiển thị trên màn hình. Do đó, nếu bạn không hiểu rõ những gì chúng ta đang nói đến, tốt hơn hết bạn nên chuyển sang bước tiếp theo và quay lại bước này nếu 3 bước trước không giúp thiết lập mã hóa chính xác cho các trang trên trang web của bạn.

Lưu tập tin theo đúng mã hóa

Một trong những lý do phổ biến nhất dẫn đến sự xuất hiện của các vết nứt trên trang web là do mã hóa không chính xác các tệp được sử dụng để tạo tài liệu cuối cùng. Thông thường, vấn đề này nảy sinh ở những lập trình viên mới làm quen, những người mới thực hiện những bước đầu tiên để làm chủ nghệ thuật. Khi một trong những hệ thống quản trị phổ biến hiện nay được chọn làm công cụ trang web, vấn đề này có thể phát sinh trong những trường hợp rất hiếm, nhưng nếu nó được sử dụng, thì điều này xảy ra ở hầu hết mọi trường hợp thứ ba.

Như chúng tôi đã đồng ý trước đó, mã hóa mà chúng tôi sử dụng trên tất cả, ngay cả những trang web tiếng Nga phức tạp nhất, là UTF-8, vì vậy chúng tôi sẽ mã hóa tất cả các tệp tạo nên công cụ của trang web theo cùng định dạng. Và để thay đổi mã hóa của chính tệp được tải lên máy chủ, tất nhiên, notepad thông thường do hệ điều hành Windows cung cấp sẽ là không đủ. Vì vậy, tốt hơn là bạn nên sử dụng chương trình của bên thứ ba được phân phối miễn phí - Notepad++, chương trình này có thể tải xuống từ trang web chính thức mà không gặp bất kỳ sự cố nào.

Sau khi hoàn tất thành công quá trình cài đặt đơn giản, bạn sẽ cần chỉ định chương trình này làm trình chỉnh sửa mặc định, thực hiện một số cài đặt theo sở thích của mình và thay đổi mã hóa của tệp hiển thị không chính xác theo cách tương tự như trong ảnh chụp màn hình. Những thứ kia. bạn cần chọn "Mã hóa thành UTF-8 (không có BOM)". Một dấu hiệu tốt cho thấy đây là nguyên nhân là ban đầu sẽ không có tùy chọn nào được chọn và bạn sẽ được nhắc “Chuyển đổi sang UTF-8 (không có BOM)”. Nếu bạn thấy điều này thì hãy chắc chắn rằng chỉ còn vài giây nữa là bạn sẽ giải quyết được vấn đề mã hóa.

Ngoài ra, tôi chỉ muốn nói rằng bạn cần phải lựa chọn chính xác không có BOM. Mặt khác, nếu bạn chỉ mã hóa bằng UTF-8 (với BOM), thì các byte bổ sung sẽ được tạo ở đầu tệp. Họ cố gắng không sử dụng BOM - Byte Order Mark trên web khi mã hóa ở định dạng UTF-8, bởi vì điều này dẫn đến lỗi bằng cách can thiệp vào việc giải thích PHP chính xác.

Chà, bây giờ tất cả các bước cần thiết đã được hoàn thành, rất có thể bạn sẽ thấy văn bản dễ đọc trên các trang trên trang web của mình và thở phào nhẹ nhõm :)