โดยทั่วไปในสภาพแวดล้อม ASP เราใช้ FSO เมื่อดำเนินการสดและคงที่ มันเป็นส่วนประกอบที่เชี่ยวชาญในการดำเนินการไฟล์ มันมีเพียงสามแอตทริบิวต์การเข้ารหัสของ FSO ค่าเริ่มต้นของระบบคือ Unicode และ ASCII และไม่มี UTF-8 ที่เราต้องการ ดังนั้นไฟล์ที่สร้างขึ้นโดยใช้ส่วนประกอบ FSO ในระบบจีนอยู่ในรูปแบบ GB2312 แม้ว่าคุณจะเขียน charset = "utf-8" บนหน้าเว็บมันก็ไร้ประโยชน์
ในการสร้างไฟล์ในรูปแบบ UTF-8 เราใช้ ADODB.Stream แทน FSO เพื่ออ่านและเขียนไฟล์ UTF-8 เนื่องจาก ADODB.Stream มีคุณสมบัติ charset ที่ช่วยให้คุณกำหนดประเภทการเข้ารหัสของไฟล์ที่จะเปิดหรือเขียน ด้วยวิธีนี้ ADODB.Stream ไม่เพียง แต่เป็นไฟล์ที่สามารถอ่านหรือเขียนไปยัง UTF-8 เท่านั้น แต่โดยทั่วไปสามารถใช้งานรูปแบบไฟล์ใด ๆ ได้ แน่นอนว่าสิ่งที่มีประโยชน์มากกว่าสำหรับเราในปัจจุบันคือการเขียนไฟล์ในรูปแบบ UTF-8
ฟังก์ชั่นต่อไปนี้สามารถใช้ฟังก์ชั่นเหล่านี้:
FunctionWriteTofile (fileurl, str, charset)
setstm = createObject ("adodb.stream")
stm.type = 2
stm.mode = 3
stm.charset = charset
stm.open
stm.writextstr
STM.SaVetOfileFileUrl, 2
stm.flush
stm.close
setstm = ไม่มีอะไร
endfunction
มีหลายรายการที่สามารถเลือกได้โดย charset คุณสามารถค้นหาสิ่งที่คุณต้องการได้ที่นี่: ชื่อการแสดงผล CodePageCharset เป็นภาษาจีนและภาษาอังกฤษ ฟังก์ชั่นของฟังก์ชั่นนี้นั้นเหมือนกับฟังก์ชั่น FSO ที่คุณใช้สำหรับการใช้งานแบบไดนามิกและแบบคงที่ แต่มีแอตทริบิวต์เพิ่มเติมที่เลือกการเข้ารหัสอักขระ แน่นอนคุณสามารถเขียนแอตทริบิวต์นี้ลงในฟังก์ชั่นโดยตรง แต่เป็นการดีกว่าที่จะเขียนด้วยวิธีนี้ หากคุณต้องการใช้รายการอื่น ๆ เพื่อแปลงเป็นรูปแบบอื่น ๆ ในอนาคตฟังก์ชั่นนี้ยังสามารถใช้งานได้โดยไม่ต้องแก้ไข
หากคุณต้องการใช้การแปลงแบบแบตช์ของไฟล์ที่มีอยู่เป็นรูปแบบ UTF-8 คุณสามารถลอง:
แบทช์ GB2312 ถึง UTF-8 สนับสนุนการลากการใช้งาน VBS