ในระหว่างกระบวนการทำงานโครงการเรามักจะสร้างข้อกำหนดต่าง ๆ เพื่ออำนวยความสะดวกในการร่วมมือกันในหมู่ทีมและโครงการที่ดีขึ้น เรามักจะได้ยินโปรโตคอลต่าง ๆ เช่นโปรโตคอล Open XMPP ที่ใช้โดยซอฟต์แวร์ IM GTALK ของ Google ตราบใดที่ซอฟต์แวร์ IM อื่น ๆ ก็สอดคล้องกับโปรโตคอล XMPP ก็สามารถใช้และสื่อสารกับ GTalk ได้ ไม่มีการนับข้อมูลบนอินเทอร์เน็ตและข้อมูลนี้มีอยู่อย่างอิสระ วิธีการเชื่อมต่อเป็นอนุกรมและนำเสนอให้กับผู้ใช้ต้องใช้โปรโตคอล HTTP
ในทำนองเดียวกันเนื่องจากเบราว์เซอร์มีเมล็ดที่แตกต่างกันและการเรนเดอร์ที่แตกต่างกันของสไตล์เริ่มต้นพวกเขาต้องการกฎที่แต่ละเบราว์เซอร์ติดตามเพื่อให้แน่ใจว่าสไตล์ที่นำเสนอโดยเอกสารเว็บเดียวกันบนเบราว์เซอร์ที่แตกต่างกันนั้นสอดคล้องกัน กฎนี้คือการประกาศ Doctype
เนื่องจากอินเทอร์เน็ตสามารถทำงานร่วมกันได้เอกสารเว็บสองฉบับขึ้นไปอาจเกี่ยวข้องกับการแลกเปลี่ยนข้อมูล เนื่องจากภาษา XML อนุญาตให้ผู้ใช้ปรับแต่งแท็กเอกสารที่แลกเปลี่ยนสองฉบับใด ๆ อาจมีแท็กเดียวกันทำให้เกิดความขัดแย้งของแท็กเดียวกัน ดังนั้นจึงจำเป็นต้องมีเนมสเปซเพื่อแยกความแตกต่างของแท็กเดียวกันกับที่อาจมีอยู่ในเอกสารแลกเปลี่ยน
เป็นภาษาสำหรับการเปลี่ยน HTML เป็น XML XHTML ไม่สามารถใช้แท็กที่ผู้ใช้กำหนดในภาษา XML ได้ดังนั้นเนมสเปซในเอกสาร XHMTL จึงเหมือนกัน:
<html xmlns = http: //www.w3.org/1999/xhtml>
XMLNS เป็นตัวย่อของเนมสเปซ XHTML ซึ่งเป็นเนมสเปซที่เรียกว่า เช่นเดียวกับการประกาศ Doctype XMLNS ก็เป็นคำประกาศเช่นกัน ซึ่งแตกต่างจากการประกาศ doctype ยังคงมีอยู่ในเอกสาร HTML, XMLNs ไม่มีอยู่ในเอกสาร HTML และ XMLNs ที่เรามักจะเห็นปรากฏในเอกสาร XHTML
เมื่อสร้างหน้าเว็บนอกเหนือจากการประกาศ doctype (ประเภทเอกสาร) ในตอนต้นหากเป็นเอกสาร XHTML มันยังจำเป็นต้องประกาศเนมสเปซและสิ่งที่สามที่จะประกาศคือประเภทการเข้ารหัสอักขระของเอกสารหน้าเว็บ:
<meta http-equiv = เนื้อหาประเภทเนื้อหา = text/html; charset = utf-8 ' />
เพื่อที่จะตีความได้อย่างถูกต้องโดยเบราว์เซอร์และตรวจสอบโดย W3C เอกสาร XHTML แต่ละฉบับควรประกาศการเข้ารหัสอักขระที่ใช้ หลายครั้งที่รหัสที่อ่านไม่ออกส่วนใหญ่ในเอกสารเว็บเกิดจากการเข้ารหัสอักขระที่ไม่ถูกต้อง
UTF-8 เป็นนิพจน์การเข้ารหัสความยาวตัวแปรของ Unicode ในฐานะที่เป็นการเข้ารหัสตัวละครสากลทั่วโลกมันถูกใช้ในเอกสารเว็บมากขึ้นเรื่อย ๆ หน้าเว็บที่ใช้การเข้ารหัสอักขระ UTF-8 สามารถเพิ่มการหลีกเลี่ยงรหัสที่อ่านไม่ออกซึ่งเกิดจากการเข้ารหัสอักขระที่แตกต่างกันเมื่อผู้ใช้ในภูมิภาคต่าง ๆ เข้าถึงเว็บเพจเดียวกัน
แต่เมื่อเราเปิดเว็บไซต์ในประเทศส่วนใหญ่โดยเฉพาะเว็บไซต์พอร์ทัลขนาดใหญ่คำสั่งเกี่ยวกับการเข้ารหัสอักขระไม่ใช่ UTF-8 แต่ GB2312:
<meta http-equiv = เนื้อหาประเภทเนื้อหา = text/html; charset = gb2312 ' />
แน่นอนนอกเหนือจาก GB2312 แล้วยังมีบางเว็บไซต์ที่ใช้การเข้ารหัส GBK หรือ GB18030 การเข้ารหัสอักขระทั้งสามนี้เป็นชุดอักขระจีนที่เรียบง่าย กล่าวคือหากคอมพิวเตอร์ไม่ได้ติดตั้งชุดอักขระจีนที่ง่ายขึ้นเมื่อเข้าถึงเว็บเพจจีนที่มีอักขระที่เข้ารหัสเป็น GB2312 รหัสที่อ่านไม่ออกจะปรากฏขึ้น
เนื่องจากรหัสที่อ่านไม่ออกอาจเกิดขึ้นเนื่องจากการเข้าถึงผู้ใช้ในภูมิภาคต่าง ๆ เมื่อใช้การเข้ารหัสอักขระ GB2312 ทำไมไม่ใช้ UTF-8
หนึ่งในเหตุผลอาจเป็นเหตุผลทางประวัติศาสตร์ในขณะที่เหตุผลที่สำคัญอื่น ๆ ควรเป็นขนาดเอกสารที่แตกต่างกันเนื่องจากวิธีการจัดเก็บข้อมูลที่แตกต่างกันของการเข้ารหัสทั้งสอง
เมื่อใช้ชุดการเข้ารหัสอักขระ GB2312 ตัวละครจีนจะใช้ 2 ไบต์ในขณะที่จำนวนไบต์ที่ถูกครอบครองโดยตัวละครจีนในการเข้ารหัส UTF-8 มักจะ 3 ไบต์หรือมากกว่า 3 ไบต์ ดังนั้นสำหรับเอกสารภาษาจีนเดียวกันปริมาณการจัดเก็บโดยใช้การเข้ารหัสอักขระ GB2312 นั้นเล็กกว่าขนาดเอกสารที่เก็บไว้ในการเข้ารหัส UTF-8
สำหรับเว็บไซต์ภาษาจีนที่มีข้อความจำนวนมากและการเข้าชมจำนวนมากโดยใช้เอกสารหน้าเว็บที่เข้ารหัส GB2312 สามารถบันทึกปริมาณการใช้งานจำนวนมากในการดาวน์โหลดและส่งสัญญาณ นอกจากนี้เนื่องจากกลุ่มผู้ใช้เว็บไซต์จีนถูกล็อคโดยทั่วไปในผู้ใช้ภาษาจีนซึ่งเป็นสาเหตุที่เว็บไซต์หลายแห่งใช้ GB2312 ที่เข้ารหัสแทน UTF-8 ที่เข้ารหัส
อย่างไรก็ตามมีเว็บไซต์ไม่มากที่มีข้อความและการเยี่ยมชมจำนวนมากในประเทศจีน นอกจากนี้ปัญหาของรหัสที่อ่านไม่ออกอาจถูกจับคู่ดังนั้นจึงขอแนะนำให้ใช้การเข้ารหัส UTF-8 เมื่อสร้างหน้าเว็บ
แน่นอนไม่ว่าจะใช้การเข้ารหัสแบบใดสิ่งที่สำคัญที่สุดคือการเข้ารหัสที่ใช้ทั่วทั้งไซต์จะต้องรวมเป็นหนึ่งเดียว
สำหรับการประกาศการเข้ารหัสอักขระนอกเหนือจากวิธีการข้างต้นคุณอาจเห็นวิธีการประกาศอื่น:
<meta http-equiv = content-language content = gb2312 ' />
<meta http-equiv = content-language content = zh-cn />
วิธีการประกาศนี้มีวัตถุประสงค์เพื่อเบราว์เซอร์รุ่นเก่า วิธีการประกาศนี้ไม่แนะนำในวันนี้เมื่อเบราว์เซอร์ได้รับการปรับปรุงโดยทั่วไป