วันนี้เมื่อฉันแก้ไขโปรแกรม UTF-8 ในแถบค้นหาฉันพบว่าเอกสารรูปแบบ UTF-8 ที่สร้างขึ้นมีรหัสที่อ่านไม่ออกและไฟล์ต้นฉบับคือ
รหัสของ create_html.asp มีดังนี้:
การคัดลอกรหัสมีดังนี้:
<%@language = "vbscript" codePage = "65001"%>
-
setObjrs = server.createObject ("scripting.filesystemobject")
conn = server.mappath ("example.xml")
setStream = objrs.opentextfile (conn, 1, true, -2)
content = stream.readall
Response.write (เนื้อหา)
สตรีม
-
ฟังก์ชั่นที่จะใช้รหัสนี้คือ: อ่านข้อความรวมถึงภาษาจีนจาก example.xml (รูปแบบ UTF-8) จากนั้นส่งออก แต่ทุกครั้งที่เอาต์พุตถูกอ่านไม่ออก ปัญหานี้รบกวนฉันเป็นเวลานาน ต่อมามันได้รับการแก้ไขด้วยความช่วยเหลือของฟอรัมคลาสสิก "Xiao Han" และ "Xiao Xiaoyu" ขอบคุณพวกเขา
บางทีฉันอาจผิดที่จุดเริ่มต้น แต่ตอนนี้รหัสที่ถูกต้องได้รับการแก้ไขดังนี้โดยใช้รหัสที่กำหนดโดย "Xiao Xiaoyu" รวมถึงการใช้เนื้อหาการอ่านเพื่อสร้างเอกสารรูปแบบ UTF-8 ใหม่ รหัสรายละเอียดมีดังนี้:
การคัดลอกรหัสมีดังนี้:
<%@language = "vbscript" codePage = "65001"%>
<%response.codePage = 65001%>
<%response.charset = "utf-8"%>
-
'ประกาศตัวแปร
dimread_path, write_paht, เนื้อหา
'---- อ่านเนื้อหาไฟล์ --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
functionReadTextFile (filePath, charset)
dimstm
setstm = server.createObject ("adoDb.stream")
stm.type = 1'adtypebinary อ่านในข้อมูลไบนารีตามข้อมูลไบนารี
stm.mode = 3'admodereadwrite มีเพียง 3 คนเท่านั้นที่สามารถใช้งานได้ที่นี่เพื่อใช้ผู้อื่นและจะทำให้เกิดข้อผิดพลาด
stm.open
stm.load fromfilefilepath
stm.position = 0'move ตัวชี้กลับไปที่จุดเริ่มต้น
STM.TYPE = 2'TEXT DATA
stm.charset = charset
readTextFile = stm.readtext
stm.close
setstm = ไม่มีอะไร
endfunction
'--- เขียนไปยังไฟล์ ------------------------------------------------------------------------------------------------------------------------------
SubwriteTextFile (FilePath, FileContent, Charset)
dimstm
setstm = server.createObject ("adoDb.stream")
stm.type = 2'adtypetext, ข้อมูลข้อความ
stm.mode = 3'admodereadwrite อ่านและเขียนหากพารามิเตอร์นี้ใช้ 2 มันจะทำให้เกิดข้อผิดพลาด