La solución a los caracteres confusos cuando se usa fso.OpenTextFil para leer archivos UTF-8 o cuando se usa FSO.save para generar archivos UTF-8. El método utilizado para generar páginas estáticas es leer el código html de la página asp y guardarlo como un archivo. archivo html.
Dado que la página dinámica está codificada en formato utf8, después de obtener su código html, utilicé fso para guardarlo. El html generado fue exitoso, pero no se puede acceder a él porque hay un problema con la codificación html. Seleccione gb2312. acceder a él normalmente. Esto no funcionará porque todo el sitio está codificado en formato utf8. Para abrir esta página, debe seleccionar la codificación antes de acceder. Esto es demasiado problemático y nadie está dispuesto a acceder a ella, por lo que la codificación en formato utf8. el problema debe ser resuelto.
Después de buscar un poco, descubrí que fso no puede generar archivos en formato utf8. Así que prueba con otro enfoque.
Después de buscar por un tiempo, encontré una función que puede generar archivos en lugar de fso. Utiliza el objeto adodb.stream para generar archivos utf8.
Copie el código de código de la siguiente manera:
'------------------------------------------------
'Nombre de la función: ReadTextFile
'Función: Utilice el objeto AdoDb.Stream para leer archivos de texto en formato UTF-8
'------------------------------------------------ - --
Función ReadFromTextFile (FileUrl,CharSet)
cadena tenue
establecer stm=server.CreateObject("adodb.stream")
stm.Type=2 'Leer en este modo
stm.modo=3
stm.charset=Juego de caracteres
stm.abierto
stm.loadfromfile server.MapPath(FileUrl)
str=stm.readtexto
stm.Cerrar
set stm=nada Este artículo proviene de
ReadFromTextFile=cadena
Función final
'------------------------------------------------
'Nombre de la función: WriteToTextFile
'Función: Utilice el objeto AdoDb.Stream para escribir archivos de texto en formato UTF-8
'------------------------------------------------ - --
Sub WriteToTextFile (FileUrl, byval Str, CharSet)
establecer stm=server.CreateObject("adodb.stream")
stm.Type=2 'Leer en este modo
stm.modo=3
stm.charset=Juego de caracteres
stm.abierto
stm.WriteText cadena
stm.SaveToFile server.MapPath(FileUrl),2
stm.flush
stm.Cerrar
establecer stm = nada
Fin Sub IISBOY.COM,IISBOY.COM
Cómo utilizar:
Copie el código de código de la siguiente manera:
llamar a WriteToTextFile ("../index.html","aaa","utf-8")
Hecho.