ໜ້າການສອນຊອບແວຕົວທ່ອງເວັບໄດ້ຮັບການເຂົ້າລະຫັດຂອງເອກະສານ CSS ແນວໃດ?
ຕົວທ່ອງເວັບໄດ້ຮັບການເຂົ້າລະຫັດຂອງເອກະສານ CSS ແນວໃດ?

ມັນມີຄວາມຊັບຊ້ອນຫຼາຍສໍາລັບຕົວທ່ອງເວັບທີ່ຈະໄດ້ຮັບການເຂົ້າລະຫັດເອກະສານ CSS ກ່ວາການໄດ້ຮັບການເຂົ້າລະຫັດເອກະສານ HTML ສະຖານທີ່ທີ່ສາມາດກໍານົດການເຂົ້າລະຫັດແມ່ນປະເພດເນື້ອຫາຂອງ ResponseHeader ເພື່ອກໍານົດການເຂົ້າລະຫັດ ຄຸນລັກສະນະ charset, ແລະເອກະສານ CSS ຍັງສາມາດຖືກຕັ້ງຄ່າການເຂົ້າລະຫັດ, ແລະສຸດທ້າຍເປັນເອກະສານການເຂົ້າລະຫັດເລີ່ມຕົ້ນ.

ອິດທິພົນ

ຈະມີຜົນກະທົບແນວໃດຖ້າຄວາມຜິດພາດການຮັບຮູ້ການເຂົ້າລະຫັດໃນເອກະສານ CSS ແມ່ນຖືກຕ້ອງ? ຕົວ​ອັກ​ສອນ​ພາ​ສາ​ອັງ​ກິດ​ສາ​ມາດ​ຮັບ​ຮູ້​ໄດ້​ປົກ​ກະ​ຕິ​, ແຕ່​ຕົວ​ອັກ​ສອນ​ຈີນ​ຈະ​ສະ​ແດງ​ເປັນ​ຕົວ​ອັກ​ສອນ garbled ນີ້​ສ່ວນ​ໃຫຍ່​ແມ່ນ​ເນື່ອງ​ມາ​ຈາກ​ການ​ນໍາ​ໃຊ້​ຕົວ​ອັກ​ສອນ​ຈີນ​ທີ່​ສະ​ແດງ​ຢູ່​ໃນ​ຫນ້າ​ແມ່ນ​ຕົວ​ອັກ​ສອນ​ພາ​ສາ​ອັງ​ກິດ (ເນື້ອ​ໃນ​ຍັງ​ເປັນ​ພາ​ສາ​ຈີນ​, ຂ້າ​ພະ​ເຈົ້າ​ຫມາຍ​ເຖິງ​ການ​ສະ​ແດງ​ ການ​ປ່ຽນ​ແປງ​ຕົວ​ອັກ​ສອນ​)​.

ໃນຄໍາສັ່ງໃດທີ່ຕົວທ່ອງເວັບໄດ້ຮັບການເຂົ້າລະຫັດຂອງເອກະສານ CSS?

ອີງຕາມ [1] CSS 2.1 ສະເພາະ, ການເຂົ້າລະຫັດຂອງໄຟລ໌ CSS ພາຍນອກຄວນຈະຖືກກໍານົດຕາມບູລິມະສິດຕໍ່ໄປນີ້:

1. ການເຂົ້າລະຫັດທີ່ລະບຸໂດຍພາລາມິເຕີ "charset" ຂອງຊ່ອງຂໍ້ມູນ "ປະເພດເນື້ອຫາ" ໃນສ່ວນຫົວການຕອບສະໜອງ HTTP.

2. BOM ແລະ/ຫຼື ການເຂົ້າລະຫັດທີ່ກຳນົດໂດຍ @charset.

3.<link charset="">ຫຼື metadata ອື່ນໆທີ່ສະຫນອງໂດຍກົນໄກການເຊື່ອມໂຍງ (ຖ້າມີ).

4. ແນະນໍາການເຂົ້າລະຫັດທີ່ກໍານົດໄວ້ໃນ HTML ຂອງໄຟລ໌ CSS ນີ້ຫຼືໃນໄຟລ໌ CSS ອື່ນ (ຖ້າມີຫນຶ່ງ).

5. ຖ້າການເຂົ້າລະຫັດບໍ່ສາມາດກໍານົດໄດ້ໃນຂັ້ນຕອນຂ້າງເທິງ, ມັນສົມມຸດວ່າການເຂົ້າລະຫັດແມ່ນ UTF-8.


ສົ່ງວິທີການຮັບການເຂົ້າລະຫັດຈາກ BOM (C#):

/// <summary> /// 从字节流判断编码(返回null是不能判断出编码) /// </summary> /// <param name="bt">输入字节流</param> /// <returns></returns> internal static string GetEncodingByByte(byte[] bt) { //带BOM的utf-8 var utf8 = new byte[] { 0xEF, 0xBB, 0xBF }; if (bt[0] == utf8[0] && bt[1] == utf8[1] && bt[2] == utf8[2]) { return "utf-8"; } //UTF-32-BE var utf32Be = new byte[] { 0x00, 0x00, 0xFE, 0xFF }; if (bt[0] == utf32Be[0] && bt[1] == utf32Be[1] && bt[2] == utf32Be[2] && bt[3] == utf32Be[3]) { return "utf-32"; } //UTF-32-LE var utf32Le = new byte[] { 0xFF, 0xFE, 0x00, 0x00 }; if (bt[0] == utf32Le[0] && bt[1] == utf32Le[1] && bt[2] == utf32Le[2] && bt[3] == utf32Le[3]) { return "utf-32"; } //UTF-32-2143 var utf322143 = new byte[] { 0x00, 0x00, 0xFF, 0xFE }; if (bt[0] == utf322143[0] && bt[1] == utf322143[1] && bt[2] == utf322143[2] && bt[3] == utf322143[3]) { return "utf-32"; } //UTF-32-3412 var utf323412 = new byte[] { 0xFE, 0xFF, 0x00, 0x00 }; if (bt[0] == utf323412[0] && bt[1] == utf323412[1] && bt[2] == utf323412[2] && bt[3] == utf323412[3]) { return "utf-32"; } //UTF-16-BE var utf16Be = new byte[] { 0xFE, 0xFF }; if (bt[0] == utf16Be[0] && bt[1] == utf16Be[1]) { return "utf-16"; } //UTF-16-LE var utf16Le = new byte[] { 0xFF, 0xFE }; if (bt[0] == utf16Le[0] && bt[1] == utf16Le[1]) { return "utf-16"; } return null; }
ຄໍາຮ້ອງສະຫມັກຊອບແວ: ການດາວໂຫຼດແມ່ແບບດ້ານຫນ້າ; ໝາຍເຫດ: ຊອບແວນີ້ບໍ່ແມ່ນໂປຣແກຣມແຮກເກີ ແລະບໍ່ສາມາດດາວໂຫຼດຂໍ້ມູນພື້ນຫຼັງໄດ້!
ການປະຕິເສດຄວາມຮັບຜິດຊອບ: ການບໍລິການແມ່ນສໍາລັບການສຶກສາສ່ວນບຸກຄົນ, ການຄົ້ນຄວ້າຫຼືການຍົກຍ້ອງ, ເຊັ່ນດຽວກັນກັບຈຸດປະສົງອື່ນໆທີ່ບໍ່ແມ່ນການຄ້າຫຼືບໍ່ຫວັງຜົນກໍາໄລ, ແຕ່ໃນເວລາດຽວກັນມັນຄວນຈະປະຕິບັດຕາມຂໍ້ກໍານົດຂອງກົດຫມາຍລິຂະສິດແລະກົດຫມາຍທີ່ກ່ຽວຂ້ອງອື່ນໆ, ແລະຕ້ອງບໍ່ລະເມີດລິຂະສິດ. ສິດທິທາງດ້ານກົດຫມາຍຂອງເວັບໄຊທ໌ນີ້ແລະຜູ້ຖືສິດທິທີ່ກ່ຽວຂ້ອງຄວາມສ່ຽງທີ່ກ່ຽວຂ້ອງກັບການນໍາໃຊ້ເຄື່ອງມືຢູ່ໃນເວັບໄຊທ໌ນີ້ບໍ່ມີຫຍັງກ່ຽວຂ້ອງກັບຊອບແວນີ້.
ສະຫງວນລິຂະສິດ © 2019-2024 Rabbit Software All Rights Reserved Guangdong ICP No. 19111427-2
ຂໍ້ມູນການສອນ ຄູ່​ມື​ຜູ້​ໃຊ້ ຫົວຂໍ້ເວັບໄຊທ໌